Batch file 批处理文件以删除特定文件夹

Batch file 批处理文件以删除特定文件夹,batch-file,for-loop,directory,Batch File,For Loop,Directory,我需要一个批处理文件,将递归删除具有特定文件名的所有目录。这是我到目前为止所做的,它不起作用 FOR /D /r %%G IN ("*.svn") DO DEL %%G 哇,我最近做了一件和这一模一样的事: 编辑 FOR/F%%C IN('dir*.svn/s/b')执行DEL%%~C\*. FOR/D%%C IN('dir*.svn/s/b')DO RMDIR%%~C 您可能需要将一些参数传递给del,以允许它在不询问是/否的情况下删除 或者,只需执行svn导出即可从存储库中签出代码,而不必

我需要一个批处理文件,将递归删除具有特定文件名的所有目录。这是我到目前为止所做的,它不起作用

FOR /D /r %%G IN ("*.svn") DO DEL %%G

哇,我最近做了一件和这一模一样的事:

编辑

FOR/F%%C IN('dir*.svn/s/b')执行DEL%%~C\*.

FOR/D%%C IN('dir*.svn/s/b')DO RMDIR%%~C

您可能需要将一些参数传递给
del
,以允许它在不询问是/否的情况下删除


或者,只需执行
svn导出
即可从存储库中签出代码,而不必使用那些讨厌的.svn目录。

哇,我最近做了一件与此完全相同的事情:

编辑

FOR/F%%C IN('dir*.svn/s/b')执行DEL%%~C\*.

FOR/D%%C IN('dir*.svn/s/b')DO RMDIR%%~C

您可能需要将一些参数传递给
del
,以允许它在不询问是/否的情况下删除


或者,只需执行
svn export
即可从存储库中签出代码,而不必使用那些讨厌的.svn目录。

如果您能够使用Powershell,则可以使用以下代码段:

get-childitem . -include .svn -force -recurse | foreach ($_) {remove-item -force $_.fullname}
它是从一个地方拿走的。实际上,如果您可以使用Powershell,请忘记DOS:)


顺便说一句,
dir
命令有一个递归动作的
/s
(对于类unix的shell,类似于
-r/-r

如果您能够使用Powershell,您可以使用以下代码段:

get-childitem . -include .svn -force -recurse | foreach ($_) {remove-item -force $_.fullname}
它是从一个地方拿走的。实际上,如果您可以使用Powershell,请忘记DOS:)


顺便说一句,
dir
命令有一个
/s
递归动作(就像类unix shell的
-r/-r

这不起作用。我试图删除的文件夹名为.svn,并且是隐藏的。您只需执行
svn导出
。这将导出您的存储库,而不包含所有.svn目录。只是需要一些调整,就像你说的,del需要一些参数来允许删除。这是最后的命令。对于('dir*.svn/s/b/a:d')中的/F%%C,请执行RMDIR%%C/s/q此操作不起作用。我试图删除的文件夹名为.svn,并且是隐藏的。您只需执行
svn导出
。这将导出您的存储库,而不包含所有.svn目录。只是需要一些调整,就像你说的,del需要一些参数来允许删除。这是最后的命令。对于/F%%C IN('dir*.svn/s/b/a:d'),执行RMDIR%%C/s/q