我需要一种递归删除文件夹及其子文件夹的方法。
是否有一个预先构建的工具,或者我需要编写一个?
DEL /S不删除目录。
DELTREE已从Windows 2000+中删除
我需要一种递归删除文件夹及其子文件夹的方法。
是否有一个预先构建的工具,或者我需要编写一个?
DEL /S不删除目录。
DELTREE已从Windows 2000+中删除
当前回答
以下是对我有效的方法:
试着减小路径的长度。 即:将导致这样一个文件的所有文件夹重命名为尽可能小的名称。说出一个字母的名字。继续在文件夹层次结构中向上重命名。 这样u有效地缩短了路径长度。 现在试着直接删除文件。
其他回答
使用Powershell 5.1
get-childitem *logs* -path .\ -directory -recurse | remove-item -confirm:$false -recurse -force
替换为需要删除的目录名。
Get-childitem从当前路径(.)中递归地搜索具有该名称的子目录。
Remove-item删除结果。
管理:
takeown /r /f folder
cacls folder /c /G "ADMINNAME":F /T
rmdir /s folder
适用于包括sys文件在内的任何文件
编辑:我实际上找到了最好的方法,这也解决了文件路径过长的问题:
mkdir \empty
robocopy /mir \empty folder
rm -r -fo <path>
是在Windows PowerShell中最接近的。它是的缩写
Remove-Item -Recurse -Force -Path <path>
(更多细节)。
RMDIR [/S] [/Q] [drive:]路径
RD [/S] [/Q] [drive:]路径
/S除目录本身外,删除指定目录下的所有目录和文件。删除目录树。 /Q安静模式,不询问是否ok删除目录树与/S
要删除一个目录(不管它是否存在),请使用以下命令:
if exist myfolder ( rmdir /s/q myfolder )