如何从命令行以递归方式删除文件或文件夹?
我找到了这个解决方案,我们在命令行上运行路径并运行此命令。
我举了一个.svn文件扩展名文件夹的例子:
for /r %R in (.svn) do if exist %R (rd /s /q "%R")
答案 0 :(得分:108)
请执行以下步骤:
提供以下命令
del /S *.svn
答案 1 :(得分:96)
其他答案对我没有用,但确实如此:
del /s /q *.svn
rmdir /s /q *.svn
/ q 禁用是/否提示
/ s 表示从所有子目录中删除文件。
答案 2 :(得分:31)
您可以在bat
脚本中使用它:
rd /s /q "c:\folder a"
现在,只需将c:\folder a
更改为您文件夹的位置即可。仅当文件夹名称包含空格时才需要报价。
答案 3 :(得分:17)
RMDIR path_to_folder /S
离。 RMDIR "C:\tmp" /S
请注意,如果您确实要删除“C:\ tmp”文件夹,系统会提示您。将它与/ Q开关结合将以静默方式删除文件夹(例如RMDIR "C:\tmp" /S /Q
)
答案 4 :(得分:8)
对于文件删除,我编写了以下简单的批处理文件,该文件以递归方式删除了所有.pdf:
del /s /q "\\ad1pfrtg001\AppDev\ResultLogs\*.pdf"
del /s /q "\\ad1pfrtg001\Project\AppData\*.pdf"
即使是本地目录,我们也可以将其用作:
del /s /q "C:\Project\*.pdf"
同样可以应用于目录删除,我们只需要用 rmdir 更改 del 。
答案 5 :(得分:4)
如果要以递归方式删除特定扩展名,请使用以下命令:
For /R "C:\Users\Desktop\saleh" %G IN (*.ppt) do del "%G"
答案 6 :(得分:3)
使用本机命令完全擦除文件夹并获取已完成操作的日志。
这是一种不寻常的方式:
假设我们要清除d:\ temp dir
mkdir d:\empty
robocopy /mir d:\empty d:\temp
rmdir d:\empty
答案 7 :(得分:2)
你也可以这样做:
del /s /p *.{your extension here}
/p
会提示您找到每个找到的文件,如果您对删除不应该删除的内容感到紧张。
答案 8 :(得分:1)
在博客文章 How Can I Use Windows PowerShell to Delete All the .TMP Files on a Drive? 之后,您可以使用类似的内容删除所有.tmp,例如从PowerShell中的文件夹和所有子文件夹中删除:
get-childitem [your path/ or leave empty for current path] -include
*.tmp -recurse | foreach ($_) {remove-item $_.fullname}
答案 9 :(得分:1)
即 rmdir / S / Q C:\ Temp
我也正在使用下面的这些工具,并且无懈可击。
通过以下方式查看其他选项: forfiles /?
递归删除Windows文件夹中的SQM /遥测
forfiles /p %SYSTEMROOT%\system32\LogFiles /s /m *.* /d -1 /c "cmd /c del @file"
以递归方式删除Windows TMP文件
forfiles /p %SYSTEMROOT%\Temp /s /m *.* /d -1 /c "cmd /c del @file"
递归删除用户TEMP文件和文件夹
forfiles /p %TMP% /s /m *.* /d -1 /c "cmd /c del @file"
答案 10 :(得分:0)
对于隐藏文件,我必须使用以下内容:
DEL /S /Q /A:H Thumbs.db
答案 11 :(得分:0)
dir /b %temp% >temp.list
for /f "delims=" %%a in (temp.list) do call rundll32.exe advpack.dll,DelNodeRunDLL32 "%temp%\%%a"
答案 12 :(得分:0)
它对我有用
del /s /q "dir_name"
答案 13 :(得分:-1)
删除具有指定名称的文件夹以及当前位置的内容:
ls -Recurse <dirname> | del -Force -Recurse -WhatIf
或更短:
ls -r <dirname> | del -Force -r -what
并省略最后的-WhatIf来进行实际的删除。