使用PowerShell,是否可以删除包含文件的目录而不提示确认操作?
当前回答
由于我的目录在C:\users中,我必须以管理员身份运行powershell,
del ./[your Folder name] -Force -Recurse
这个命令对我很管用。
其他回答
这招对我很管用:
Remove-Item $folderPath -Force -Recurse -ErrorAction SilentlyContinue
因此,如果文件夹路径不存在,文件夹中的所有文件都将被删除,并且不会产生错误。
要删除没有文件夹的内容,您可以使用以下方法:
Remove-Item "foldertodelete\*" -Force -Recurse
有些多级目录文件夹需要删除两次,这困扰了我很久。这是我的最终代码,它为我工作,并清理得很好,希望它有帮助。
function ForceDelete {
[CmdletBinding()]
param(
[string] $path
)
rm -r -fo $path
if (Test-Path -Path $path){
Start-Sleep -Seconds 1
Write-Host "Force delete retrying..." -ForegroundColor white -BackgroundColor red
rm -r -fo $path
}
}
ForceDelete('.\your-folder-name')
ForceDelete('.\your-file-name.php')
从PowerShell删除强制答案: help Remove-Item说:
这个cmdlet中的递归参数不能正常工作
要解决的命令是
Get-ChildItem -Path $Destination -Recurse | Remove-Item -force -recurse
然后删除文件夹本身
Remove-Item $Destination -Force
2018年更新
在当前版本的PowerShell中(在Windows 10和Windows 11上使用v5.1进行测试,在2023年),可以使用更简单的Unix语法rm -R .\DirName无声地删除目录.\DirName及其可能包含的所有子目录和文件。事实上,许多常见的Unix命令在PowerShell中的工作方式与在Linux命令行中相同。
也可以使用rm -R .\DirName\* (Jeff在评论中提到了)清理文件夹,但不能清理文件夹本身。