2011-03-02 223 views
2

我需要压缩一个大而深的目录树,并在树的各个级别上有数千个文件。批处理文件:如何使*忽略“.svn”目录

问题是整棵树在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 

...其中*级别的数量是树的最大理论值。对于每一个可能出现在树中的扩展都会重复这一切。这是有效的 - 它完全按照它应该建立的档案,但它需要很长时间(几分钟),因为整棵树必须被遍历多次。

我想让它更快,因为我需要在每个调试会话中重复此操作。

是否有更有效的方法来选择目录树中的“真实”文件?

感谢您的帮助!

回答

9

尝试-xr!.svn

愚蠢的网站将不会承认我的答案,因为它太简单了......

+0

谢谢,这个伟大的工程! – 2011-03-07 21:44:40