我需要一种递归删除文件夹及其子文件夹的方法。
是否有一个预先构建的工具,或者我需要编写一个?
DEL /S不删除目录。
DELTREE已从Windows 2000+中删除
我需要一种递归删除文件夹及其子文件夹的方法。
是否有一个预先构建的工具,或者我需要编写一个?
DEL /S不删除目录。
DELTREE已从Windows 2000+中删除
当前回答
rm -r -fo <path>
是在Windows PowerShell中最接近的。它是的缩写
Remove-Item -Recurse -Force -Path <path>
(更多细节)。
其他回答
以下是对我有效的方法:
试着减小路径的长度。 即:将导致这样一个文件的所有文件夹重命名为尽可能小的名称。说出一个字母的名字。继续在文件夹层次结构中向上重命名。 这样u有效地缩短了路径长度。 现在试着直接删除文件。
进入该路径并触发该命令。
rd /s /q "FOLDER_NAME"
/s:删除指定目录和所有子目录,包括任何文件。使用/s移除树。
/q:以quiet模式运行rmdir。删除目录时不需要确认。
/ ?:在命令提示符下显示帮助信息。
在powershell中,rm是remove - item的别名,所以删除一个文件
rm -R -Fo the_file
等于
Remove-Item -R -Fo the_file
如果你对gnu rm util感到舒服,你可以在windows上通过choco包管理器来运行rm util。
在powershell中使用choco安装gnu utils:
choco install GnuWin
最后,
rm.exe -rf the_file
要删除一个目录(不管它是否存在),请使用以下命令:
if exist myfolder ( rmdir /s/q myfolder )
您可以在windows上安装GnuWin32并使用*nix命令。我安装这个之前,我安装任何其他在薄荷新鲜的拷贝窗口。:)