我需要一种递归删除文件夹及其子文件夹的方法。
是否有一个预先构建的工具,或者我需要编写一个?
DEL /S不删除目录。
DELTREE已从Windows 2000+中删除
我需要一种递归删除文件夹及其子文件夹的方法。
是否有一个预先构建的工具,或者我需要编写一个?
DEL /S不删除目录。
DELTREE已从Windows 2000+中删除
当前回答
管理:
takeown /r /f folder
cacls folder /c /G "ADMINNAME":F /T
rmdir /s folder
适用于包括sys文件在内的任何文件
编辑:我实际上找到了最好的方法,这也解决了文件路径过长的问题:
mkdir \empty
robocopy /mir \empty folder
其他回答
在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有效地缩短了路径长度。 现在试着直接删除文件。
通过Powershell
Remove-Item -Recurse -Force "TestDirectory"
通过命令提示符
https://stackoverflow.com/a/35731786/439130
Rmdir /s dirname
作为旁注:
从linux版本用所有子dirs(递归)+强制删除
$ rm -rf ./path
到 PowerShell
PS> rm -r -fo ./path
它具有接近相同的参数(只是分开了)(需要-fo,因为-f可以匹配其他不同的参数)
注意:
Remove-Item ALIASE
ri
rm
rmdir
del
erase
rd