删除InetPub中的文件时出错

时间:2014-07-17 09:51:30

标签: powershell

大家好我正在使用以下代码从inetpub中删除文件,但是我收到的错误是某些文件无法删除,因为他们正在被另一个进程使用我正在使用以下代码

if ($confirmation -eq 'y') {
get-childitem "C:\inetpub\wwwroot\Russia\Admin" -recurse | % {

remove-item $_.FullName -recurse -force

}
get-childitem "C:\inetpub\wwwroot\Russia\Tab" -recurse | % {
    if($_.Name -ne 'mediacontent')
    {

        remove-item $_.FullName -recurse -force
    }

}
}

现在使用此修改后的代码,但文件和文件夹未被删除

get-childitem "C:\inetpub\wwwroot\Russia\Admin" *.log -recurse | 
sort lastWriteTIme -Descending | Select-Object -Skip 1 | % {


        remove-item $_.FullName -recurse -force
    }


get-childitem "C:\inetpub\wwwroot\Russia\Tab" *.log -recurse | 
sort lastWriteTIme -Descending | Select-Object -Skip 1 | % {
    if($_.Name -ne 'mediacontent')
    {
        remove-item $_.FullName -recurse -force
    }

这是我得到的错误“remove-item:无法移除项目
C:\ inetpub \ wwwroot \ Russia \ Tablet \ mediacontent \ Html5Game:这个过程 访问文件'C:\ inetpub \ wwwroot \ Russia \ Tablet \ mediacontent \ Html5Game'因为它正被使用 处理。 在C:\ Development \ PowerShell Scripts_Scripts \ Russia.V2_LOCAL_RestoreFromBackups.ps1:52 char:4 + remove-item $ _。FullName -recurse -force + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     + CategoryInfo:WriteError:(C:\ inetpub \ wwwr ... ntent \ Html5Game:DirectoryInfo)[Remove-Item]     + FullyQualifiedErrorId:RemoveFileSystemItemIOError,Microsoft.PowerShell.Commands.RemoveItemCommand“

2 个答案:

答案 0 :(得分:0)

根据@ arco444的评论,IIS在最新的日志上有一个打开的写入句柄。试试这个,它会跳过最新的日志文件,虽然你的milage可能因-Recurse开关而有所不同:

...
get-childitem "C:\inetpub\wwwroot\Russia\Tab" -exclude mediacontent -recurse | 
    sort lastWriteTIme -Descending | Select-Object -Skip 1 | % {
        remove-item $_.FullName -force -recurse
}

答案 1 :(得分:0)

它已修复,我只是在删除admin文件夹后启动睡眠状态,并且成功删除平板电脑并恢复备份,感谢您的帮助