ฉันรู้ว่าคุณสามารถสร้างไฟล์ข้อความที่มีรายการไฟล์แล้วบอก 7zip ให้อ้างอิงไฟล์นี้เพื่อให้สามารถแยกไฟล์เหล่านั้นออกจากไฟล์เก็บถาวรได้ แต่ฉันไม่พบไวยากรณ์สำหรับสิ่งนั้น ใครช่วยได้บ้าง
ฉันรู้ว่าคุณสามารถสร้างไฟล์ข้อความที่มีรายการไฟล์แล้วบอก 7zip ให้อ้างอิงไฟล์นี้เพื่อให้สามารถแยกไฟล์เหล่านั้นออกจากไฟล์เก็บถาวรได้ แต่ฉันไม่พบไวยากรณ์สำหรับสิ่งนั้น ใครช่วยได้บ้าง
คำตอบ:
หลังจากค้นหาไม่กี่ชั่วโมงฉันก็คิดออกในที่สุด นี่คือไวยากรณ์สวิตช์:
7z a -xr@exclude.txt backup.7z c:\whatever\*
แจ้งให้ทราบล่วงหน้า-xr
แทน -x
ตัวr
บ่งชี้แบบเรียกซ้ำเพื่อให้สามารถจับคู่ไฟล์ที่ถูกแยกในลำดับชั้นของโฟลเดอร์แบบลึก นอกจากนี้รูปแบบของไฟล์ข้อความอาจเป็นอย่างน้อย ANSI หรือ UTF-8
สำหรับไฟล์ที่มีไฟล์ดังที่ OldWolf พูดไว้มันเป็นรายการที่คั่นด้วย carriage return เช่นนี้
Telerik.Reporting.dll
Telerik.Reporting.Service.dll
Telerik.ReportViewer.WebForms.dll
Telerik.Web.Design.dll
Telerik.Web.UI.dll
*.txt
ทำงานเหมือนจับใจ
ฉันคิดว่าคุณต้องการสวิตช์ -x ด้วย @
7z a -t7z my.zip * -x@myexclusion.lst
ในการหวนกลับฉันรู้ว่าคุณอาจหมายถึงคุณต้องการไวยากรณ์สำหรับ listfile มันควรจะเป็นรายการคั่นบรรทัดขึ้นบรรทัดใหม่ คุณอาจพบปัญหาการเข้ารหัส 7z คาดว่ามันจะอยู่ในรูปแบบ UTF-8 คุณสามารถแทนที่ได้ด้วยสวิตช์ -scs หรือคุณสามารถบอกให้ notepad บันทึกไฟล์ในรูปแบบ UTF-8
หากรายการของคุณจะสั้นจริง ๆ คุณสามารถมีมากกว่าหนึ่งแฟล็ก -x:
7z -r CppSourceJBR.zip * .cpp .h -x! stdafx -x! targetver.h
BTW ในขณะทดสอบฉันต้องลบไฟล์. zip ต่อไป เมื่อฉันลืมสิ่งนั้นตัวอย่างเช่น targetver.h ยังคงอยู่ใน ZIP จากการใช้งานครั้งล่าสุด
r
ตัวเลือก นี่เป็นวิธีที่ถูกต้องในการแยกไฟล์ PNG ซ้ำ ๆ ใน bash (อัญประกาศเดียวเพื่อหยุดการขยาย bash!
และ*
):-xr'!*.png'
(แก้ไข: คำพูดเดี่ยวแทนการหลบหนี)