Windows批处理文件删除.svn文件和文件夹

Mar*_*aio 25 svn batch-file delete-file

为了删除"myfolder"中的所有".svn"文件/文件夹/子文件夹,我在批处理文件中使用这个简单的行:

FOR /R myfolder %%X IN (.svn) DO (RD /S /Q "%%X")
Run Code Online (Sandbox Code Playgroud)

这有效,但如果没有".svn"文件/文件夹,批处理文件会显示一条警告:"系统找不到指定的文件." 这个警告非常嘈杂,所以我想知道如何让它理解,如果它没有找到任何".svn"文件/文件夹,他必须跳过RD命令.

通常使用通配符就足够了,但在这种情况下我不知道如何使用它们,因为我不想删除扩展名为.svn的文件/文件夹,但我想删除名为"的文件/文件夹". svn",所以如果我这样做:

FOR /R myfolder %%X IN (*.svn) DO (RD /S /Q "%%X")
Run Code Online (Sandbox Code Playgroud)

它不会删除名为".svn"的文件/文件夹了.我也尝试了这个:

FOR /R myfolder %%X IN (.sv*) DO (RD /S /Q "%%X")
Run Code Online (Sandbox Code Playgroud)

但它也不起作用,他什么也没删除.

gho*_*g74 41

你可以试试

FOR /R myfolder %%X IN (.svn) DO (RD /S /Q "%%X" 2>nul)
Run Code Online (Sandbox Code Playgroud)

  • 这仅适用于批处理文件.当你直接在控制台窗口中使用它时,你应该删除第二个%.那么它应该是:FOR/R myfolder%X IN(.svn)DO(RD/S/Q"%X"2> nul) (14认同)