[英]Delete a locked file using powershell
這是一個刪除超過 X 天的文件/文件夾的腳本。 但后來我想如果其他應用程序正在使用任何文件或文件夾怎么辦。 我還沒有遇到這樣的問題,但我不認為Remove-Item
不能刪除文件/文件夾,如果它被其他應用程序鎖定/使用。 無論如何使用 powershell 我們可以刪除鎖定的文件嗎?
Get-ChildItem "folder path" -Recurse | Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-1))}| Remove-Item -Recurse -Force -Confirm:$false
在 Windows 上,如果文件被鎖定,您可以調用 Win32 API MoveFileEx要求 Windows 在下次重新啟動時將其刪除。
$Win32 = Add-Type -Passthru -Name Win32 -MemberDefinition '
[DllImport("kernel32.dll", SetLastError=true, CharSet=CharSet.Auto)]
public static extern bool MoveFileEx(string lpExistingFileName, string lpNewFileName, int dwFlags);'
$Win32::MoveFileEx($path, [NullString]::Value, 4 <# DelayUntilReboot #> )
Remove-Item
也將刪除鎖定的文件。 請驗證
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.