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

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

DEL /S不删除目录。

DELTREE已从Windows 2000+中删除


当前回答

rmdir /S /Q %DIRNAME%

其他回答

以下是对我有效的方法:

试着减小路径的长度。 即:将导致这样一个文件的所有文件夹重命名为尽可能小的名称。说出一个字母的名字。继续在文件夹层次结构中向上重命名。 这样u有效地缩短了路径长度。 现在试着直接删除文件。

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

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

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

if exist myfolder ( rmdir /s/q myfolder )

进入该路径并触发该命令。

rd /s /q "FOLDER_NAME"

/s:删除指定目录和所有子目录,包括任何文件。使用/s移除树。

/q:以quiet模式运行rmdir。删除目录时不需要确认。

/ ?:在命令提示符下显示帮助信息。

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

yarn global add rimraf

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

rimraf .\**\node_modules

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

npx rimraf .\**\node_modules