Пакетный файл Windows для удаления .svn файлов и папок

Для удаления всех ".svn" файлов/папок/подпапок в "myfolder", я использую эту простую строку в пакетном файле:

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")

но это не работает также, он ничего не удаляет.

25
задан Brian Tompsett - 汤莱恩 6 July 2015 в 18:35
поделиться

2 ответа

попробуйте

FOR /R myfolder %%X IN (.svn) DO (RD /S /Q "%%X" 2>nul)
41
ответ дан 28 November 2019 в 21:03
поделиться

Что-то вроде того, используя find:

rm -rf `find . -name ".svn" -type d`

Edit:

Я знаю, что это для linux (я читаю bash вместо пакета). Я оставляю его здесь, чтобы помочь пользователям Linux, которые случайно окажутся здесь:)

2
ответ дан 28 November 2019 в 21:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: