使用PowerShell,是否可以删除包含文件的目录而不提示确认操作?
当前回答
这招对我很管用:
Remove-Item C:\folder_name -Force -Recurse
其他回答
rm -Force -Recurse -Confirm:$false $directory2Delete在PowerShell ISE中不起作用,但在常规的PowerShell CLI中起作用。
我希望这能有所帮助。它快把我逼疯了。
有些多级目录文件夹需要删除两次,这困扰了我很久。这是我的最终代码,它为我工作,并清理得很好,希望它有帮助。
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')
如果你想把一个固定路径的变量和一个字符串作为动态路径连接到一个完整的路径来删除文件夹,你可能需要下面的命令:
$fixPath = "C:\Users\myUserName\Desktop"
Remove-Item ("$fixPath" + "\Folder\SubFolder") -Recurse
在变量$newPath中,连接路径现在是:"C:\Users\myUserName\Desktop\Folder\SubFolder"
因此,您可以从起点(“C:\Users\myUserName\Desktop”)删除几个目录,该起点已经在变量$fixPath中定义和固定。
$fixPath = "C:\Users\myUserName\Desktop"
Remove-Item ("$fixPath" + "\Folder\SubFolder") -Recurse
Remove-Item ("$fixPath" + "\Folder\SubFolder1") -Recurse
Remove-Item ("$fixPath" + "\Folder\SubFolder2") -Recurse
简而言之,我们可以使用rm -r -fo {folderName}递归地删除文件夹(删除里面的所有文件和文件夹)并强制
要删除没有文件夹的内容,您可以使用以下方法:
Remove-Item "foldertodelete\*" -Force -Recurse
推荐文章
- 如何运行一个PowerShell脚本而不显示窗口?
- PowerShell:仅为单个命令设置环境变量
- 是否有一种方法可以通过双击.ps1文件来使PowerShell脚本工作?
- PowerShell等价于grep -f
- “Write-Host”,“Write-Output”,或“[console]::WriteLine”之间的区别是什么?
- c#测试用户是否有对文件夹的写权限
- Powershell相当于bash的&号(&),用于分叉/运行后台进程
- PowerShell脚本在机器上返回。net框架的版本?
- 移动一个文件到服务器上的另一个文件夹
- 如何在PowerShell中获得MD5校验和
- 如何在PowerShell格式化日期时间
- PowerShell和-contains操作符
- 用Python遍历目录
- 使用PowerShell删除超过15天的文件
- 如何删除整个文件夹和内容?