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

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

DEL /S不删除目录。

DELTREE已从Windows 2000+中删除


当前回答

通过Powershell

 Remove-Item -Recurse -Force "TestDirectory"

通过命令提示符

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

其他回答

管理:

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

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

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

mkdir \empty
robocopy /mir \empty folder

使用风险自负。“按现状”提供的信息。没有经过广泛的测试。

右键单击Windows图标(通常是左下角)>单击“Windows PowerShell(管理员)”>使用这个命令(如果你不小心,你可以很容易地删除你所有的文件):

rd -r -include *.* -force somedir

其中somedir是要删除的非空目录。

请注意,对于外部连接的磁盘,或有问题的磁盘,Windows有时会表现得很奇怪——它在删除(或任何复制尝试)时不会出错,但目录没有按照指示删除(或复制)。(我发现在这种情况下,至少对我来说,@n_y在他的回答中给出的命令会产生类似“get-childitem:文件或目录已损坏且不可读”这样的错误。'作为PowerShell的结果)

你可以安装cygwin,它有rm和ls等。

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

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

通过Powershell

 Remove-Item -Recurse -Force "TestDirectory"

通过命令提示符

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