Пакетный файл: Как заставить * игнорировать каталоги ".svn" - PullRequest
2 голосов
/ 02 марта 2011

Мне нужно сжать большое и глубокое дерево каталогов с тысячами файлов на разных уровнях дерева.

Проблема в том, что все дерево находится под контролем версий SVN. В каждом каталоге SVN есть скрытые каталоги метаданных ".svn", что увеличивает размер получаемого ZIP более чем на 100% (что недопустимо, поскольку полученный архив предназначен для распространения в Интернете).

В настоящее время я использую это:

7z -u archive.zip baseDir\*.png
7z -u archive.zip baseDir\*\*.png
7z -u archive.zip baseDir\*\*\*.png
7z -u archive.zip baseDir\*\*\*.png
7z -u archive.zip baseDir\*\*\*\*.png

... где число * уровней является максимальным теоретическим значением дерева. И все это повторяется для каждого расширения, которое может появиться в дереве. Это работает - он строит архив точно так, как должен, но это занимает слишком много времени (несколько минут), так как все дерево нужно обходить много раз.

И я хочу сделать это быстрее, поскольку мне нужно повторять это для каждого сеанса отладки.

Есть ли более эффективный способ выбора «настоящих» файлов в дереве каталогов?

Спасибо за любую помощь!

1 Ответ

9 голосов
/ 02 марта 2011

Попробуйте -xr!.svn

Глупый сайт не узнает мой ответ, потому что это было слишком просто ...

...