70

rm是删除项目,但参数-rf是做什么或表示什么?


每当我输入 help -rf 时,它都会在 powershell 中打印完整的可用命令列表。如果在 powershell 中键入 rm -rf 会发生什么?从阅读中我收集到它会删除驱动器上的所有内容?我不知道?

另外, rm -rf 是否与 rm -rf /

4

3 回答 3

126

PowerShell 不是 UNIX。rm -rf是 UNIX shell 代码,而不是 PowerShell 脚本。

看到不同?

在 UNIX 上,rm -rf单独是无效的。您通过rmfor remove使用recursiverfor force的属性告诉它要做什么,但您没有告诉它应该执行什么操作。表示( remove )在目录及其子目录上具有属性( recursive ) 和( force )。frm -rf /path/to/delete/rmrf/path/to/remove/

PowerShell 上正确的等效命令是:

rm C:\path\to\delete -r -fo

请注意,-f在 PowerShell 中是不明确的-Filter-Force因此-fo需要使用。

于 2012-05-04T06:41:01.693 回答
43

你必须使用:

Remove-Item C:\tmp -Recurse -Force

或(短)

rm C:\tmp -Recurse -Force
于 2012-05-04T06:43:06.660 回答
1

这是表现得像rm -rf. 它首先检查路径是否存在,然后尝试删除它。

if (Test-Path ./your_path) { rm -r -force ./your_path}
于 2021-10-24T21:41:46.103 回答