rm -r [directory-name]的Windows等价于什么?

#1 楼

deltree如果我记得我的DOS。


似乎已被更新...这就是您想要的:


RMDIR /S


这将删除目录C:\test,并显示以下提示:

rmdir c:\test /s


此操作相同,没有提示: />关于问题的sudo部分,如果需要更多特权,可以先使用runas命令以另一个用户帐户的身份打开新外壳程序,如下所示:

rmdir c:\test /s /q


评论


@FarmBoy,道歉,看来我的回忆回去太远了。我已经更新了Windows XP和更高版本的答案。

–科林·皮卡德(Colin Pickard)
10年8月23日在19:36

是,deltree是旧的DOS命令。在XP中将其删除,并替换为rmdir / s

–重
2010年8月23日19:39

/ s标志代表什么?

– Mike R
15年3月23日在15:45

@MikeR,它可能代表“子目录”之类的东西。 findstr具有相同的参数,这使其大小写更有意义,因此也许为了一致性,它们是相同的。

–山姆
2015年5月6日23:58

在PowerShell中不起作用

– Shinzou
17年8月22日在17:25

#2 楼

如果您想从命令提示符中删除一个长而复杂的文件夹结构,而RmDir不会碰它甚至浏览器也无法显示,我发现robocopy可以非常有效地删除该结构。
在下面的示例中我们在文件夹管理器中有一个庞大的结构,该结构是如此之深,以至于没有什么可以删除它。
我们创建了一个新的空文件夹,名为(奇怪的是!)“ new folder”。
然后我们使用robocopy命令,告诉它源文件夹是“新文件夹”,目标文件夹是带有/ MIR参数的“ D:\ Administrator”,这意味着它将清除源文件夹中没有的任何内容。

robocopy "D:\new folder" D:\Administrator /MIR


在这种情况下,文件夹路径太长了,它们甚至无法容纳在命令提示符窗口的“屏幕缓冲区”中,但是Robocopy会遍历结构并删除任何“多余的”文件和文件夹(即,新的空文件夹,即所有内容。)

评论


当您的路径长度超过250个奇数字符时,这是唯一可行的解​​决方案

–平静风暴
13年2月12日在16:24

惊人。非常感谢。对我来说,它已删除2043较深的结构,现在正在删除较深的结构。

– Martin Argerami
20-3-3在3:17



#3 楼

如果您使用的是Windows Vista +,则可以在PowerShell中执行以下操作:

rm C:\path\to\delete -r -f[orce]


评论


Windows 10表示-f不明确。但是您可以运行rm -r -force

– BrunoLM
15年11月6日在19:21

#4 楼

对我来说,有效的方法是

del /s dir


您可以添加/q以禁用确认。我从未设法使rmdir(在XP上)正常工作

评论


您可能应该停止使用XP,它不再受支持...

–埃里克·威尔逊(Eric Wilson)
2014年5月17日在17:20

对我而言,这将以递归方式删除所有文件,但不会删除目录本身-diris也不会删除。

– Sergiol
16年8月18日在17:23

#5 楼

如果您的路径真的很长(例如由于Java程序错误而这样做),即使robocopy也无法做到。它下降了大约30秒,进入了我的路径,然后挂起。

我的解决方案:如果您可以将整个问题路径从一个文件夹移动到另一个文件夹,那么您可以递归地删除并从顶部重复一些目录台阶。

该批处理在leer和leer2两个目录之间打乒乓球,每次减少8个“库”。如果您的路径包含文件,则必须添加其他命令以将其删除。

recurdel.cmd
:loop
move c:\leer\libraries\libraries\libraries\libraries\libraries\libraries\libraries\libraries c:\leer2
rd /S /Q c:\leer\libraries
move c:\leer2\libraries\libraries\libraries\libraries\libraries\libraries\libraries\libraries c:\leer
rd /S /Q c:\leer2\libraries
GOTO loop


评论


辉煌。非常感谢。

– Martin Argerami
20 Mar 3 '20 at 3:41

#6 楼

从CMD只需运行RD /s C:\path\to\delete
,按Y到提示符
/s确保也删除了所有子目录。
参考:

从命令行运行help RD


评论


感谢您的回答,但是此信息已经在接受的答案中。 (rd和rmdir相同。)也许在那里适合作为注释。

– Ben N
16年1月22日在23:59

#7 楼

这将删除“我的文件夹”而无提示:

rd /s /q "C:\Users\gourav.g\AppData\Roaming\my folder"


#8 楼

在powershell中:
Remove-Item "Path" -Force -Recurse

rm -rf ):
rm  "PATH" -r -fo