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

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

DEL /S不删除目录。

DELTREE已从Windows 2000+中删除


当前回答

试试这个命令:

del /s foldername

其他回答

作为旁注:

从linux版本用所有子dirs(递归)+强制删除

$ rm -rf ./path

到 PowerShell

PS> rm -r -fo ./path

它具有接近相同的参数(只是分开了)(需要-fo,因为-f可以匹配其他不同的参数)

注意:

Remove-Item ALIASE
    ri
    rm
    rmdir
    del
    erase
    rd

试试这个命令:

del /s foldername

在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

以下是对我有效的方法:

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

rm -r -fo <path>

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

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

(更多细节)。