递归删除与“ * folder1 \\\\ folder2”匹配的文件夹

问题描述

|| 我仅尝试删除所有.svn文件夹(如果它们位于CVS文件夹中)。该模式应该是这样的\“ * CVS \\。svn \”。 但是,目前我无法编写批处理脚本。到目前为止,这是我目前无法使用的内容
FOR /D /R %%X IN (*CVS\\.svn) DO RD /S /Q \"%%X\"
要么
FOR /R CVS %%X IN (.svn) DO (RD /S /Q \"%%X\")
    

解决方法

        如果您启动的目录比\“ CVS \”目录高一个级别,则此方法有效(否则,它要复杂一些):
for /f %d in (\'dir /a:d /b /s CVS\') do (
  if exist \"%d\\.svn\\.\" rd /s /q \"%d\\.svn\"
)
第一行递归地找到所有名为\“ CVS \”的目录,然后第二行删除子目录\“。svn \”(如果存在)。如果从批处理/ shell脚本运行它,请使用
%%d
而不是
%d
。