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

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

DEL /S不删除目录。

DELTREE已从Windows 2000+中删除


当前回答

如果你使用的是旧版本的windows,还有deltree。

你可以从这里了解更多: SS64: DELTREE -删除所有子文件夹和文件。

其他回答

rmdir /S /Q %DIRNAME%

通过Powershell

 Remove-Item -Recurse -Force "TestDirectory"

通过命令提示符

https://stackoverflow.com/a/35731786/439130

RMDIR或RD如果你使用经典的命令提示符(cmd.exe):

rd /s /q "path"

RMDIR [/S] [/Q] [drive:]路径 RD [/S] [/Q] [drive:]路径 /S除目录本身外,删除指定目录下的所有目录和文件。删除目录树。 /Q安静模式,不询问是否ok删除目录树与/S

如果你正在使用PowerShell,你可以使用Remove-Item(别名为del, erase, rd, ri, rm和rmdir),并带一个-Recurse参数,可以缩短为-r

rd -r "path"

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

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

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函数

公认的答案很好,但假设您已经安装了Node,您可以使用节点库“rimraf”更精确地做到这一点,它允许全局匹配模式。如果你经常使用它(我就是这样),就全局安装它。

yarn global add rimraf

然后,例如,我经常使用的一个模式:

rimraf .\**\node_modules

或者使用一行程序,让你避开全局安装,但动态下载包需要稍长时间:

npx rimraf .\**\node_modules