Есть ли способ удалить все подкаталоги с именем .svn со всех уровней дерева каталогов, не затрагивая ничего другого? rd/s и del/s, кажется, не делают этого.
4 ответа
Добавьте следующее в командный файл. Сделайте резервную копию файлов в первую очередь.
@for /f "tokens=*" %%a in ('dir /s /b /ad *.svn 2^>NUL') do rd /s /q "%%a"
for /r /d %i in (.svn) do rd /s /q "%i"
Используйте %%i
вместо %i
в пакетных файлах и убедитесь, что ваш текущий каталог находится в верхней части иерархии, с которой вы хотите начать.
Редактировать: только что заметил, что это также будет ловить папки, оканчивающиеся на .svn
, а не только те, которые с именем .svn
.
Если ваш жесткий диск NTFS, вы можете использовать бесплатную поисковую систему Everything.
После установки щелкните правой кнопкой мыши на каталоге и выберите «Искать все ...».
Затем введите * .svn, чтобы увидеть все такие именованные файлы и подкаталоги.
Нажмите на первую в списке, затем нажмите Ctrl-A, чтобы выделить весь список, а затем нажмите Del, чтобы удалить их все.
Я вижу, что этот вопрос постоянно задают пользователям SVN, вам НЕ нужен специальный скрипт, чтобы избавиться от этих надоедливых папок .svn.
Я не знаю, на какой платформе вы находитесь, но вы можете использовать:
svn export
Чтобы SVN сделал копию вашей рабочей копии без папок .svn.