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

mod*_*ser 123 windows cmd delete-file

如何从命令行以递归方式删除文件或文件夹?

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

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

for /r %R in (.svn) do if exist %R (rd /s /q "%R")
Run Code Online (Sandbox Code Playgroud)

小智 119

请执行以下步骤:

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

    del /S *.svn
    
    Run Code Online (Sandbox Code Playgroud)

  • 谢谢,在我添加/ F标志后为我工作 (5认同)
  • 对我不起作用,它只删除当前目录中的文件. (3认同)

Luc*_*cas 104

其他答案对我不起作用,但这样做:

del /s /q *.svn
rmdir /s /q *.svn
Run Code Online (Sandbox Code Playgroud)

/ q禁用是/否提示

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

  • 我认为我的需求与您想要做的相同 - 我正在尝试删除项目目录和所有子目录中的所有 .svn 文件夹。在 Windows 2012 上,这个答案对我不起作用。它正在删除当前目录中的 .svn 文件夹,但不会从任何子目录中删除。 (2认同)

Sea*_*ghn 33

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

rd /s /q "c:\folder a"
Run Code Online (Sandbox Code Playgroud)

现在,只需更改c:\folder a到文件夹的位置即可.仅当文件夹名称包含空格时才需要报价.

  • 除非您的目录确实在名称中有一个`space``a`,否则请忽略该部分. (3认同)

Ant*_*ton 21

RMDIR path_to_folder /S
Run Code Online (Sandbox Code Playgroud)

恩. RMDIR "C:\tmp" /S

请注意,如果您确实要删除"C:\ tmp"文件夹,系统会提示您.将它与/ Q开关结合将以静默方式删除文件夹(例如RMDIR "C:\tmp" /S /Q)


khi*_*nil 8

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

del /s /q "\\ad1pfrtg001\AppDev\ResultLogs\*.pdf"
del /s /q "\\ad1pfrtg001\Project\AppData\*.pdf"
Run Code Online (Sandbox Code Playgroud)

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

del /s /q "C:\Project\*.pdf"
Run Code Online (Sandbox Code Playgroud)

这同样可应用于目录删除,我们只需要改变德尔命令rmdir.


小智 6

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

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


小智 6

使用 Windows rmdir命令

rmdir /S /Q C:\Temp

我现在也使用下面的这些产品好几年了,完美无缺。

使用以下命令查看其他选项:forfiles /?

递归删除 Windows 文件夹中的 SQM/Telemetry

forfiles /p %SYSTEMROOT%\system32\LogFiles /s /m *.* /d -1 /c "cmd /c del @file"
Run Code Online (Sandbox Code Playgroud)

递归删除Windows TMP文件

forfiles /p %SYSTEMROOT%\Temp /s /m *.* /d -1 /c "cmd /c del @file"
Run Code Online (Sandbox Code Playgroud)

递归删除用户TEMP文件和文件夹

forfiles /p %TMP% /s /m *.* /d -1 /c "cmd /c del @file"
Run Code Online (Sandbox Code Playgroud)


小智 6

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

这是一种不寻常的方法:

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

mkdir d:\empty
robocopy /mir d:\empty d:\temp
rmdir d:\empty
Run Code Online (Sandbox Code Playgroud)