在Windows CMD上递归删除文件或文件夹


135

如何在Windows上从命令行递归删除文件或文件夹?

我找到了这个解决方案,我们在命令行上驱动路径并运行此命令。

我举了一个.svn文件扩展名文件夹的示例:

for /r %R in (.svn) do if exist %R (rd /s /q "%R")

您所说的“我们前进的道路”是什么意思?
彼得·莫滕森

Answers:


129

请执行以下步骤:

  1. 打开命令提示符
  2. 将目录更改为所需的路径
  3. 发出以下命令

    del /S *.svn
    

4
对我不起作用,它仅删除当前目录中的文件。
delphirules

118

其他答案对我不起作用,但这确实可行:

del /s /q *.svn
rmdir /s /q *.svn

/ q禁用是/否提示

/ s表示从所有子目录中删除文件。


我认为我的需要与您要执行的操作相同-我正在尝试删除项目目录和所有子目录中的所有.svn文件夹。在Windows 2012上,此答案对我不起作用。它正在删除当前目录中的.svn文件夹,但不会从任何子目录中删除。
吉姆(Jim)

42

您可以在bat脚本中使用它:

rd /s /q "c:\folder a"

现在,只需更改c:\folder a文件夹的位置即可。仅当您的文件夹名称包含空格时才需要引用。


此命令不起作用,并引发如下错误:D:\> rd / s / q“ D:\ Root a”系统找不到指定的文件。
abhayk

5
除非您的目录确实包含space a名称,否则请忽略该部分。
Jesse Chisholm

22
RMDIR path_to_folder /S

例如 RMDIR "C:\tmp" /S

请注意,如果您确实要删除“ C:\ tmp”文件夹,将提示您。将其与/ Q开关结合使用将无提示删除文件夹(例如RMDIR "C:\tmp" /S /Q


8

对于文件删除,我编写了以下简单的批处理文件,该文件以递归方式删除了所有.pdf:

del /s /q "\\ad1pfrtg001\AppDev\ResultLogs\*.pdf"
del /s /q "\\ad1pfrtg001\Project\AppData\*.pdf"

即使对于本地目录,我们也可以将其用作:

del /s /q "C:\Project\*.pdf"

这同样适用于目录删除,我们只需要使用rmdir更改del


4

如果要递归删除特定扩展名,请使用以下命令:

For /R "C:\Users\Desktop\saleh" %G IN (*.ppt) do del "%G"

3

您也可以这样做:

del /s /p *.{your extension here}

/p会提示您为每个找到的文件,如果你担心删除的东西你不应该。


2

使用Windows rmdir命令

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"


2

使用本机命令完全擦除文件夹并获取已完成操作的日志。

这是一种不寻常的方法:

假设我们要清除d:\ temp目录

mkdir d:\empty
robocopy /mir d:\empty d:\temp
rmdir d:\empty

这是一个非常聪明的解决方案,解决了我的问题。我使用robocopy复制我的AppData目录,而不是考虑自引用Junction。这是我可以递归删除所有隐藏文件的唯一方法。永远不要忘记/ xj!
克里斯·拉拉贝尔

0

对于隐藏文件,我必须使用以下命令:

DEL /S /Q /A:H Thumbs.db

过时的。微软公司不再支持Windows XP。
Mesalcode

我必须使用它来删除备份还原中遗留下来的.dcm文件(Windows 10)
Gerald Murphy

0
dir /b %temp% >temp.list
for /f "delims=" %%a in (temp.list) do call rundll32.exe advpack.dll,DelNodeRunDLL32 "%temp%\%%a"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.