ฉันต้องการใช้ 7-zip เพื่อสำรองข้อมูลไดเรกทอรี แต่ฉันต้องการให้ยกเว้นไดเรกทอรีทั้งหมดที่ชื่อ ".svn" (ที่ใดก็ได้ในแผนผังต้นไม้ต้นทาง) ไม่มีใครรู้ว่าสิ่งนี้เป็นไปได้และในกรณีนั้นได้อย่างไร
ฉันต้องการใช้ 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\*
?
จะตรงกับ "งวด SVN" ( .svn
) ดังนั้นเพื่อที่จะข้ามทุกอย่างในโฟลเดอร์SkipMe
ที่คุณจะใช้-xr!SkipMe\*
แทนที่จะใช้ 7-Zip เพื่อแยกโฟลเดอร์. svn (หรืออาจ _svn) ฉันแนะนำให้ใช้คำสั่งส่งออก svn (ใช้ 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 \
'-xr@\path\to\backup_daily_exclude.lst'
ไฟล์ที่แยกออกดูเหมือนว่า:
home\Photos\iPod*
home\dhltd\*
BlogMatrix\Sparks\db\*.archive
home\eclipse\*
.svn
กุญแจคือ -xr และโดยเฉพาะอย่างยิ่ง "r" ซึ่งระบุว่าใช้รายการที่แยกซ้ำในแต่ละระดับของไดเรกทอรี คุณอาจต้องการใช้ไฟล์ที่แยก 2 รายการหนึ่งรายการสำหรับรายการที่แน่นอนและอีกไฟล์หนึ่งสำหรับการยกเว้นซ้ำ ด้านบนมาจากสคริปต์ทุบตีที่ทำงานใน 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 จำนวนมากและต้องการแยกไดเรกทอรีใด ๆ ที่ชื่อ "target":
"C:\Program Files\7-Zip\7z.exe" a -r -tzip -y -xr!*\target\* site.zip C:\code\site\
-xr!*\target\*
ที่เกี่ยวข้องยกเว้นพารามิเตอร์เป็น