rm -r [directory-name]
的Windows等价于什么?#1 楼
deltree
如果我记得我的DOS。 似乎已被更新...这就是您想要的:
RMDIR /S
这将删除目录
C:\test
,并显示以下提示:rmdir c:\test /s
此操作相同,没有提示: />关于问题的sudo部分,如果需要更多特权,可以先使用
runas
命令以另一个用户帐户的身份打开新外壳程序,如下所示:rmdir c:\test /s /q
#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
评论
@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