2012-10-05 96 views
75

如何从命令行在窗口上递归删除文件或文件夹。 我发现了这个解决方案,我们在命令行上运行并运行此命令的路径。 我已经给出的.svn文件扩展文件夹例如在Windows cmd上递归删除文件或文件夹

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

+0

工作正常,问题包含唯一的解决方案:) –

+0

:)可能在问题编辑完成后。 :) –

回答

22

可以在bat脚本中使用此:

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

现在,只是改变c:\folder到您的文件夹的位置。

+0

此命令不起作用,并抛出错误,如下所示 * D:\> rd/s/q“D:\ Root a” 系统找不到指定的文件* – abhayk

+1

除非您的目录确实有'在名字空间''a'',然后离开那部分。 –

12
RMDIR path_to_folder /S 

ex。 RMDIR "C:\tmp" /S

请注意,如果您确实要删除“C:\ tmp”文件夹,系统会提示您。与/ Q开关相结合,将自动删除该文件夹(例如RMDIR "C:\tmp" /S /Q

79

请执行以下步骤:

  1. 打开命令提示符
  2. 切换目录到需要的路径
  3. 给予以下命令

    del /S *.svn

+2

不适用于我,它只删除当前目录中的文件。 – delphirules

+3

谢谢,在我加入/ F标志后为我工作 – vjkumar

54

其他的答案并没有为我工作,但这并:

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

/Q禁用是/否提示

/s的方式从所有删除文件(S)子目录。

+0

我认为我的需求与您正在尝试做的相同 - 我试图删除项目目录中的所有.svn文件夹以及所有子目录。在Windows 2012上,这个答案不适合我。它会删除当前目录中的.svn文件夹,但不会从任何子目录中删除。 – Jim

8

文件的删除,我写了下面这删除了所有的.pdf的递归简单的批处理文件:

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

即使是本地目录,我们可以使用它作为:

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

同样可以申请目录删除,我们只需要更改删除rmdir

3

如果你想递归删除特定的扩展,使用此:

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

你也可以这样做:

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

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

0

若要从当前位置的内容以及给定的名字删除文件夹:

ls -Recurse <dirname> | del -Force -Recurse -WhatIf 

或更短:

ls -r <dirname> | del -Force -r -what 

并省略最后的-What如果做实际的删除。