แตกไฟล์บางไฟล์จากไฟล์เก็บถาวรด้วย 7-Zip จากบรรทัดคำสั่ง


34

ตัวอย่างเช่นถ้าฉันมีไฟล์เก็บถาวรsome.zipที่ประกอบด้วยไฟล์หนึ่งไฟล์ขึ้นไปฉันจะแตกไฟล์เดียวได้อย่างไร (ฉันรู้ชื่อไฟล์) ด้วย7-Zipจากบรรทัดคำสั่งใน Windows

คำตอบ:


32

เพื่อติดตามคำตอบของ surfasbให้เพิ่มแฟล็ก -r ในตอนท้ายเพื่อรับเงินคืน:

7z e [archive.zip] -o[outputdir] [fileFilter] -r

รองรับตัวกรองหลายตัว:

7z e [archive.zip] -o[outputdir] [fileFilter_1] [fileFilter_2] -r

ตัวอย่าง:

บรรทัดคำสั่งตัวกรองหลายตัว:

7z e archive.zip -o outputdir *.xml *.dll -r

PS: ฉันใช้ 7za.exe แทน 7z.exe นี่คือคำสั่งจริงที่ฉันใช้ในสคริปต์ของฉัน:

7za.exe x archive.zip -o outputdir *.xml *.pdb *.exe *.ocx *.dll -r

1
ฉันจะเพิ่มตัวกรองไฟล์หลายตัวพูด.XMLและทำ.zipอย่างไร? ขออภัยถ้าฉันหักหลังหัวข้อนี้ฉันไม่ต้องการเพิ่มคำถามซ้ำ
Fr0zenFyr

1
ควรปรับโดยแยกตัวกรองตามช่องว่าง ดูคำตอบที่แก้ไขข้างต้น :)
zionyx

และฉันจะแตกไฟล์เฉพาะจากไฟล์เก็บถาวรภายในไฟล์เก็บถาวรได้อย่างไร ให้บอกว่าไฟล์ที่ฉันค้นหาคือ "MyFile.txt" ข้างใน "SubArchive.zip" ข้างใน "MainArchive.zip" เป็นไปได้ไหม
PeterCo

1
@ PeterCo ฉันคิดว่าคำสั่งสามารถดึงข้อมูลSubArchive.zipจากMainArchive.zipในกรณีของคุณเท่านั้น คุณสามารถเรียกใช้คำสั่งติดตามเพื่อแยกMyFile.txtจากSubArchive.zipหลังการแยกเริ่มต้น
zionyx

13

คุณเพิ่งเพิ่มชื่อไฟล์ในตอนท้าย

7z e [archive.zip]-o [outputdir] [fileFilter]


1
ฉันจะเพิ่มตัวกรองไฟล์หลายตัวพูด.XMLและทำ.zipอย่างไร? ขออภัยถ้าฉันหักหลังหัวข้อนี้ฉันไม่ต้องการเพิ่มคำถามซ้ำ
Fr0zenFyr

เป็นคำถามที่แตกต่าง @ Fr0zenFyr เพื่อให้ชัดเจนว่าไม่ซ้ำกันคุณสามารถอ้างอิงคำถามนี้ด้วยตัวคุณเองแล้วระบุความแตกต่างของคุณ
music2myear

@ music2myear: ขอบคุณสำหรับการชี้แจง คำตอบที่ได้รับคะแนนสูงสุดโดย zionyx ได้รวมโซลูชันไว้แล้ว ความคิดเห็นของฉันมีอายุมากกว่า 2 ปีดังนั้นจึงเป็นการคาดเดาที่สมเหตุสมผลว่าฉันจะใช้วิธีแก้ปัญหาข้างต้นหรือโพสต์คำถามแล้วพบคำตอบ (BTW นี่เป็นกรณีของฉัน) โพสต์ที่ได้รับการแก้ไขของฉันอยู่ใน SOและเธรดดั้งเดิมที่สร้างขึ้นก่อนที่ความคิดเห็นของฉันจะอยู่ที่นี่ดังนั้นฉันจึงไม่สามารถเชื่อมโยงกับคำถามนี้ได้ :)
Fr0zenFyr

หมายเหตุ: ตามที่เขียนไว้ที่นี่อย่าเว้นช่องว่างระหว่าง -o และ outputdir
ตัวตลกของราชา

4

หากคุณดูman pageสำหรับ 7z คุณจะพบว่าคำสั่งต่อไปนี้สามารถใช้เพื่อแตกไฟล์จากไฟล์เก็บถาวร 7z (แม้ว่าการใช้พา ธ จะหายไปจาก man page):

7z x <archive> <path to file>

ตัวอย่าง:

7z x backup.7z *.html
7z x backup.7z folderwithin/myfile.html

eหรือคุณสามารถใช้

คู่มือผู้ใช้รุ่นบรรทัดคำสั่งดูเหมือนว่าจะมีข้อมูลเพิ่มเติมเกี่ยวกับการใช้งานจริง


2
นั่นคือเส้นทางสัมพัทธ์ภายในไฟล์เก็บถาวรหรือไม่?
music2myear

ใช่ "folderwithin" เป็นโฟลเดอร์ที่อยู่ในรูทของไฟล์เก็บถาวร
ตัวตลกของราชา

1

โปรดทราบว่า7zมีไวยากรณ์ต่อไปนี้ (สังเกตการเว้นวรรคและเครื่องหมายคำพูดล้อมรอบ"-oMy Folder"ตัวเลือกเพื่อตั้งชื่อโฟลเดอร์เอาท์พุทใช้เวลาหลายชั่วโมงในการคิดตามเดิมที่ฉันทำสิ่งนี้ - ผิด: * -o "My Folder"*):

7z e "my zip.zip" "-oMy Folder" *.jpg "all of these.*" -r
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.