众所周知,在 *nix 系统上,递归地rm -rf some_directory
删除some_directory
其下的所有文件,而无需确认。
这个命令在 Powershell 中的等价物是什么?
请注意,此处给出的 cmd答案(使用rmdir
等)在 Powershell 中不起作用。尽管 Powershellrmdir
为 to做了别名Remove-Item
(大概有一些开关;不确定是哪个),但它并没有将cmd 样式的开关作为别名,如/s
.
Tim*_*ill 10
这可能就是你要找的。似乎对搜索引擎稍加努力就会得出相同的结论。
Remove-Item C:\MyFolder -Recurse -Force
Run Code Online (Sandbox Code Playgroud)
或者,作为速记:
rm <directory-path> -r -f
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅Remove-Item
帮助页面。
Powershell 中最接近的命令是:
try {
Remove-Item -Recurse -ErrorAction:Stop C:\some_directory
} catch [System.Management.Automation.ItemNotFoundException] {}
Run Code Online (Sandbox Code Playgroud)
rm -rf
在 Unix 中意味着删除文件,也意味着:
-r, -R, --recursive remove directories and their contents recursively
-f, --force ignore nonexistent files and arguments, never prompt
Run Code Online (Sandbox Code Playgroud)
Remove-Item -Force
不等于rm -f
.
-Force
强制 cmdlet 删除无法更改的项目,例如隐藏或只读文件或只读别名或变量。
为了证明这-Force
不会“忽略不存在的文件和参数,从不提示”,如果我这样做rm -r -Force thisDirectoryDoesntExist
,则会导致此错误:
rm : Cannot find path 'C:\thisDirectoryDoesntExist' because it does not exist.
Run Code Online (Sandbox Code Playgroud)
一行是rm -r -ErrorAction:SilentlyContinue
,但这会丢弃不是不存在错误的错误。
归档时间: |
|
查看次数: |
9494 次 |
最近记录: |