我需要一种递归删除文件夹及其子文件夹的方法。

是否有一个预先构建的工具,或者我需要编写一个?

DEL /S不删除目录。

DELTREE已从Windows 2000+中删除


当前回答

在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

其他回答

Rmdir /s dirname

以下是你需要做的事情……

用下面的代码行创建一个批处理文件

Rmdir / s %1

将批处理文件保存为Remove.bat,并将其放在C:\windows中

创建以下注册表项

HKEY_CLASSES_ROOT\目录\shell\删除目录

启动regedit并更新默认值HKEY_CLASSES_ROOT\Directory\shell\Remove Directory (RMDIR)\default 使用以下值

“c: \ windows \ REMOVE.bat”“% 1”

这就是它!现在您可以右键单击任何目录并使用RMDIR函数

您可以在windows上安装GnuWin32并使用*nix命令。我安装这个之前,我安装任何其他在薄荷新鲜的拷贝窗口。:)

要删除一个目录(不管它是否存在),请使用以下命令:

if exist myfolder ( rmdir /s/q myfolder )
rm -r -fo <path>

是在Windows PowerShell中最接近的。它是的缩写

Remove-Item -Recurse -Force -Path <path>

(更多细节)。