أرغب في استخدام 7-Zip لإجراء نسخ احتياطي للدليل ، لكنني أرغب في استبعاد جميع الدلائل المسماة ".svn" (في أي مكان في شجرة المصدر). لا أحد يعرف ما إذا كان هذا ممكنا وفي هذه الحالة كيف؟
لاستبعاد جميع الدلائل .svn ، يلزمك إضافة رمز التبديل -xr!?svn\*
على سبيل المثال ، سيقوم التالي بإنشاء نسخة احتياطية من دليل C:\Project\To\Backup
باستثناء أي مجلدات تلبي ?svn
:
"C:\Program Files\7-Zip\7z.exe" a -r -tzip -y -xr!?svn\* Project.Zip C:\Project\To\Backup\*
بدلاً من استخدام 7-Zip لاستبعاد مجلدات .svn (أو ربما _svn) ، أوصي باستخدام الأمر svn export (استخدم svn.exe من SlikSVN ) لتصدير نسخة العمل إلى مجلد مؤقت:
svn export C:\Path\To\WC C:\Backup\Staging
ثم استخدم 7-Zip على النحو التالي:
7z.exe a "C:\Parth\To\Archive" "C:\Backup\Staging\*" -bd t7z -v2g -r
ثم احذف مجلد التدريج.
هذا ما أقوم به لإجراء نسخ احتياطي نسخ العمل المحلية الخاصة بي.
يمكنك استبعاد الملفات باستخدام 7Zip باستخدام قائمة الملفات أو الدلائل:
/path/to7Zip/7z a -bd f:/backup/backup_2009-08-23_daily.Zip home \
'[email protected]\path\to\backup_daily_exclude.lst'
يبدو ملف الاستبعاد كما يلي:
home\Photos\iPod*
home\dhltd\*
BlogMatrix\Sparks\db\*.archive
home\Eclipse\*
.svn
المفتاح هو -xr وبشكل خاص "r" الذي يشير إلى تطبيق قائمة الاستثناء بشكل متكرر ، على كل مستوى من مستويات الدليل. قد ترغب في استخدام قائمتين استبعديتين للملف واحدة للاستثناءات المطلقة والأخرى للاستثناءات المتكررة. ما ورد أعلاه هو من نص باش الذي يعمل في cygwin.
عندما اعتدت
"C:\Program Files\7-Zip\7z.exe" a -r -ttar -xr!?git\* aufs2-util.tar aufs2-util\*
انتهى الأمر بإضافة دليل .git الذي لم أكن أريده ، وتغييره إلى
"C:\Program Files\7-Zip\7z.exe" a -r -ttar -xr!?git\ aufs2-util.tar aufs2-util\*
حصلت على النتيجة المرجوة.
عندما اعتدت
7z a "D:\codebase\w.7z" "D:\codebase\Edison\otm\Webapp" -t7z -mx0 -xr!WEB-INF\*
لم يتم استبعاد دليل WEB-INF. إضافة علامة النجمة قبل اسم dir
7z a "D:\codebase\w.7z" "D:\codebase\Edison\otm\Webapp" -t7z -mx0 -xr!*WEB-INF\*
حصلت على النتيجة المرجوة.
بالنسبة لي ، كنت أحاول إجراء نسخ احتياطي لمجموعة من الدلائل البرمجية الخاصة بـ maven وأردت استبعاد أي دليل باسم "الهدف":
"C:\Program Files\7-Zip\7z.exe" a -r -tzip -y -xr!*\target\* site.Zip C:\code\site\
معلمة الاستبعاد ذات الصلة كانت -xr!*\target\*
.