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

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

DEL /S不删除目录。

DELTREE已从Windows 2000+中删除


当前回答

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

if exist myfolder ( rmdir /s/q myfolder )

其他回答

在powershell中,rm -递归-force工作得很好。

rm -r -fo <path>

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

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

(更多细节)。

RMDIR [/S] [/Q] [drive:]路径

RD [/S] [/Q] [drive:]路径

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

管理:

takeown /r /f folder
cacls folder /c /G "ADMINNAME":F /T
rmdir /s folder

适用于包括sys文件在内的任何文件

编辑:我实际上找到了最好的方法,这也解决了文件路径过长的问题:

mkdir \empty
robocopy /mir \empty folder

通过Powershell

 Remove-Item -Recurse -Force "TestDirectory"

通过命令提示符

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