【发布时间】:2011-02-01 17:29:42
【问题描述】:
为了删除“myfolder”中的所有“.svn”文件/文件夹/子文件夹,我在批处理文件中使用了这个简单的行:
FOR /R myfolder %%X IN (.svn) DO (RD /S /Q "%%X")
这可行,但如果没有“.svn”文件/文件夹,批处理文件会显示警告:“系统找不到指定的文件。” 这个警告非常嘈杂,所以我想知道如何让它明白,如果它没有找到任何“.svn”文件/文件夹,他必须跳过 RD 命令。
通常使用通配符就足够了,但在这种情况下我不知道如何使用它们,因为我不想删除扩展名为 .svn 的文件/文件夹,但我想要删除完全命名为“.svn”的文件/文件夹,所以如果我这样做:
FOR /R myfolder %%X IN (*.svn) DO (RD /S /Q "%%X")
它不会再删除完全命名为“.svn”的文件/文件夹。 我也试过这个:
FOR /R myfolder %%X IN (.sv*) DO (RD /S /Q "%%X")
但它也不起作用,他什么也没删除。
【问题讨论】:
-
你知道SVN导出功能吗? svnbook.red-bean.com/en/1.0/re10.html "从工作副本中导出一个干净的目录树"
-
@nickf:谢谢你告诉我,但我必须完成一项不同的任务,我需要删除 .svn 文件/文件夹。
-
请注意,对于新版本的 SubVersion(自 1.7 起),.svn 元数据文件夹仅位于结帐的根级别,而不是每个目录中。
标签: batch-file svn delete-file