จะบีบอัดโฟลเดอร์ขนาดใหญ่เป็นไฟล์ขนาดเล็กที่ จำกัด ที่ 20Mb ได้อย่างไร?


10

ฉันกำลังมองหาวิธีบีบไฟล์ขนาดใหญ่เป็นไฟล์ขนาด 20Mb หลายไฟล์ ฉันไม่ต้องการให้ไฟล์ zip แยกออกเป็นไฟล์ขนาดเล็ก แต่ฉันต้องการจัดกลุ่มไฟล์ย่อย / โฟลเดอร์เป็นกลุ่มซึ่งเป็น 20Mb เมื่อซิป

ถ้าคุณรู้วิธีทำโปรดช่วยด้วย!

ปรับปรุง

ฉันจำเป็นต้องใช้ไฟล์ซิปขนาดเล็กเพียงอย่างเดียวซึ่งสามารถคลายซิปได้อย่างเดียว

ความตั้งใจของฉันคือใช้virustotal.comเพื่อสแกนโฟลเดอร์ใหญ่


รายละเอียดเกี่ยวกับระบบปฏิบัติการที่คุณใช้อยู่?
Pitto

@Pitto ฉันใช้ Windows-7
Nam G VU

คำตอบ:


10

ใน winzip: เพิ่มไฟล์ลงใน zip โดยเริ่มต้นใช้งาน winzip และเพิ่มหรือลากและวางลงใน winzip หรือคลิกขวาที่ไฟล์และ winzip 'เพิ่มไปที่ zip ... '

จากนั้นใน winzip:

การกระทำ - แยกที่ด้านล่างของ 'ขนาดของส่วน' เลือก 'ขนาดอื่น' จากนั้นใส่ 20 และเลือก mb

ทำ!


4
อยู่บนด้านฟรียัง 7zip ทำงานอย่างสมบูรณ์แบบ :)
Pitto

3
นี่จะแยกไฟล์ zip และเราไม่สามารถใช้ส่วนที่แยกได้เพียงอย่างเดียว
Nam G VU

ตอนนี้ฉันเข้าใจดีกว่าสิ่งที่คุณกำลังมองหา ... ฉันไม่สามารถหาวิธีแก้ไขปัญหาของคุณได้แล้ว :( ถ้าอย่างนั้นการใช้ Malwarebytes Antimalware ที่ฟรีและมหัศจรรย์เพื่อสแกนไฟล์ในเครื่อง?
Pitto

6

สิ่งที่คุณเสนอคือความแตกต่างของปัญหาเป้ด้วยการเพิ่มการบิดที่เนื่องจากการบีบอัดไฟล์คุณจะไม่เริ่มรู้เลยว่า "เป้สะพายหลัง" ขนาด 20MB ของคุณแต่ละรายการจะครอบครอง

แน่นอนว่าโซลูชันเล็ก ๆ น้อย ๆ นั้นคือการซิปไฟล์แต่ละไฟล์อย่างอิสระ แต่นั่นก็ไม่สามารถลดจำนวนไฟล์ได้ดังนั้นฉันคิดว่ามันจะไม่เป็นทางออกที่น่าพอใจ

หากฉันพบปัญหานี้ฉันคิดว่าฉันจะเริ่มต้นด้วยการบีบอัดแต่ละไฟล์ไปยังตำแหน่งชั่วคราว (หรือในหน่วยความจำโดยไม่ต้องเขียนลงดิสก์) เพื่อให้ได้ขนาดที่บีบอัดโดยประมาณสำหรับแต่ละไฟล์ จากข้อมูลนั้นมันจะเป็นไปได้ที่จะตัดสินใจว่าไฟล์ใดควรจัดกลุ่มเข้าด้วยกันโดยใช้วิธีมาตรฐานใด ๆ ในปัญหาเครื่องหลังและสร้างไฟล์ zip จริง

สมมติว่าคุณมีภาษาสคริปต์สำหรับคุณและคุณรู้วิธีใช้มันฉันคาดหวังว่าวิธีการนี้จะตรงไปตรงมาโดยอัตโนมัติ ทำด้วยตนเองจะค่อนข้างน่าเบื่อถ้าคุณมีมากกว่าหนึ่งไฟล์ที่จะจัดการกับ ...


1
คุณไม่ซิปกับ 'ไม่บีบอัด'? ดูที่ "อัพเดท" ของ op ดูเหมือนว่ารูปแบบไฟล์สำคัญกว่าการบีบอัด
แพ่งราคา

1
เฮ้ ... จุดดี ฉันไม่ได้พิจารณาการใช้ zip เป็นไฟล์เก็บถาวรแบบง่ายโดยไม่บีบอัด
Dave Sherohman

@DaveSherohman แล้วเราจะทำยังไงดีล่ะ?
Nam G VU

5

การปล่อยให้ซิปทำการแยกให้คุณนั้นจะง่ายกว่าการหาอัตโนมัติด้วยตัวคุณเอง หากเป้าหมายของคุณคือไฟล์ซิป 20MB คุณจะต้องประเมินขนาดที่บีบอัดของแต่ละไฟล์ก่อนที่จะเพิ่มลงในไฟล์เก็บถาวร มีเหตุผลที่คุณไม่ต้องการปล่อยให้ซิปทำการแยกหรือไม่? นี่คือวิธีที่คุณจะทำได้ด้วย gnu zip:

zip -s 20m -r myzip.zip mydir

สิ่งนี้จะสร้างไฟล์ซิปขนาด 20MB พร้อมหมายเลขดัชนีที่เพิ่มขึ้นในชื่อไฟล์


4
จากความคิดเห็นของ OP ไปยังคำตอบอื่นดูเหมือนว่าเขาไม่ต้องการให้ zip แยกโดยอัตโนมัติเพราะคุณได้รับไฟล์เก็บถาวรเดี่ยวที่ต้องการให้ไฟล์ทั้งหมดทำงานได้อย่างถูกต้อง แต่เขาต้องการให้แต่ละชิ้นเป็นไฟล์เก็บถาวรที่สมบูรณ์และใช้งานได้โดยอิสระ ของคนอื่น ๆ
Dave Sherohman

4

บน Linux มีโปรแกรมชื่อzipsplitที่ทำสิ่งนี้ มันเป็นส่วนหนึ่งของแพ็คเกจซิปมาตรฐาน

สามารถเรียกใช้ดังนี้:

zipsplit bigfile.zip -n 20000000

เพื่อแยก bigfile.zip เป็นส่วนสูงสุด 20MB และโปรดทราบว่าไฟล์ที่มีอยู่แต่ละไฟล์จะไม่ถูกแยกออก ดังนั้นแต่ละส่วนสามารถคลายซิปได้ ซึ่งหมายความว่าหากมีไฟล์เดียวที่ไม่สามารถพอดีกับขนาดชิ้นส่วนสูงสุดการแยกจะไม่สามารถทำได้

อัปเดต: ดูเหมือนว่ามีไบนารีสำหรับ Windows ที่ info-zip.org โดยเฉพาะในftp://ftp.info-zip.org/pub/infozip/win32/zip300xn-x64.zipสำหรับ Win 64


3

ไม่ใช่เรื่องง่ายที่ฉันกลัว

ฉันเพิ่งเขียนสคริปต์เพื่อรวบรวมไฟล์ลงในไดเรกทอรีย่อยไม่ใหญ่กว่า 4.3GB สำหรับการจัดเก็บง่ายบนดีวีดี แต่ทั้งหมดนี้ไม่มีการบีบอัด

ทำด้วยการบีบอัด - ตอนนี้มีความท้าทาย คุณไม่สามารถคาดการณ์ขนาดของไฟล์หลังจากการบีบอัด - สิ่งที่คุณสามารถทำได้คือเพิ่มไฟล์ไปยังซิปตามลำดับจากมากไปน้อยจนกระทั่งเกิน 20MB แล้วลบไฟล์สุดท้ายที่แทนที่ด้วยไฟล์ที่มีขนาดเล็กลงจนกว่าจะลดลงต่ำกว่า 20MB . หากคุณหมดไฟล์ทั้งหมดและยังคงอยู่> 20MB ให้ปล่อยไฟล์สุดท้ายแล้วเลื่อนไปที่ไฟล์ zip ถัดไป

การเขียนสคริปต์ค่อนข้างยุ่งยากและค่อนข้างช้าเจ็บปวดกระบวนการ


ที่นี่ความคิดของฉัน ทำไมไม่จัดกลุ่มไฟล์ / โฟลเดอร์ลงใน <= 20Mb กลุ่มที่ซิปแล้วจึงซิปไฟล์ เราไม่จำเป็นต้องใช้ไฟล์ผลลัพธ์. zip ในแต่ละไฟล์ขนาด 20Mb
Nam G VU

เป็นไปได้ - ไม่แน่ใจว่าคุณจะทำอย่างไรกับเรื่องนี้ในหน้าต่างที่มีสคริปต์ - ฉันเคยใช้ Perl บน Linux มาก่อน
Majenko

2

ฉันรู้ว่านี้เป็นหัวข้อเก่า แต่ผมก็ไม่ได้นี้กับ7-Zip

คุณต้องใช้ตัวเลือก "แยกเป็นปริมาณ":

ป้อนคำอธิบายรูปภาพที่นี่


เย็น. ฉันจะลองและกลับไปกับคุณในภายหลัง
Nam G VU

1
ใช้งานไม่ได้กับสถานการณ์เฉพาะนี้เนื่องจากไฟล์ซิปขนาดเล็กกว่าไม่สามารถคลายซิปได้อย่างเดียว พวกเขาจะต้องเก็บไว้ด้วยกัน
เรียกดู

2

เดฟดูเหมือนจะให้ทางออกที่โปรแกรมได้ใกล้เคียงกับสิ่งที่ OP ร้องขอ ฉันคิดว่าสิ่งนี้สามารถทำได้ด้วยตนเองเช่นกันหากมีการใช้สมมติฐานต่อไปนี้ (นี่ไม่ใช่ปัญหาทางเทคนิคที่บริสุทธิ์ - มันเป็นปัญหาขององค์กรมากกว่าทางเทคนิค):

  1. เนื่องจากOP ต้องการให้ไฟล์ซิปแต่ละไฟล์สามารถแยกเนื้อหาทั้งหมดได้อย่างอิสระไฟล์ที่เกิน 20 MB หลังจากซิปต้องจัดการด้วยวิธีใดวิธีหนึ่งต่อไปนี้:
    • พวกเขาจะไม่ได้รับการพิจารณาและดังนั้นจึงต้องแยก;
    • พวกเขาจะต้องแยกออกเป็นปริมาณ 20MB เป็นคำตอบอื่น ๆ ที่แนะนำ ( WinZip , 7-Zip ) และไฟล์ที่ส่งผลให้ไม่สามารถใช้งานได้อย่างอิสระ (ทำลายนี้ 1 เซนต์สมมติฐาน)
  2. ไฟล์ซิปไม่จำเป็นต้องมีขนาด 20MB
  3. หากมีความสำคัญมากกว่าที่จะมีไฟล์ซิปหลายไฟล์ที่มีขนาดประมาณ 20MB การซิปก็สามารถทำได้โดยไม่ต้องบีบอัด

โดยใช้วิธีการนี้ด้วย7-zip (ส่วนต่อประสานและเทอร์มินัลของ Windows) ฉันคงการบีบอัดข้อมูลไว้ในไฟล์ zip ที่สร้างขึ้นใหม่

เริ่มต้นด้วยการซิปไฟล์ทั้งหมดเป็นไฟล์ซิปเดียวในโฟลเดอร์ว่าง (ด้วยวิธีการบีบอัดที่คุณต้องการ) เช่นALL.zipเปิดไฟล์:

  1. สั่งซื้อรายการไฟล์และโฟลเดอร์โดยคลิกที่ขนาดหรือคอลัมน์ขนาดบีบอัด
  2. เริ่มต้นจากขนาดที่เล็กที่สุดและเลือกไฟล์ / โฟลเดอร์ที่คุณต้องการจัดกลุ่มเป็นซิป
  3. กดTestปุ่มเพื่อยืนยันขนาดรวม (พิจารณาการบีบอัด): ทดสอบคุณสมบัติ
  4. กดExtractหรือCopyปุ่มขณะที่การเพิ่มจุดสิ้นสุดของเส้นทางการสกัดชื่อโฟลเดอร์ใหม่ (เช่นที่: plu_8MB)
  5. ภายในALL.zipzip ให้ลบไฟล์เหล่านี้ที่คุณเพิ่งแตกออกมา (หลีกเลี่ยงการแตกไฟล์ผิดซ้ำ) และไปที่โฟลเดอร์ถัดไปหรือไฟล์ย่อย;
  6. ทำซ้ำหนึ่งในสิ่งต่อไปนี้:
    • ขั้นตอนที่ 1 ถึง 5 หากคุณวางแผนที่จะสร้างไฟล์ซิปอิสระ
    • ขั้นตอนที่ 1 ถึง 3 และใช้ชื่อโฟลเดอร์เดิมอีกครั้ง (ขั้นตอนที่ 4) จนกว่าขนาดรวมจะอยู่ที่ประมาณ 20MB
  7. เมื่อคุณแยกเนื้อหาทั้งหมดของALL.zipลงในโฟลเดอร์ที่เป็นอิสระแล้วให้ลบซิปนั้นและเปิดเทอร์มินัลในโฟลเดอร์นั้น
  8. ประเภท:

    for /F %i in ('dir /b') do "C:\Program Files\7-zip\7z.exe" a -tzip %i.zip %i
    

    กดENTERและจะเป็นการสร้างไฟล์ zip สำหรับแต่ละโฟลเดอร์ที่คุณเพิ่งแตกไฟล์


สำหรับพารามิเตอร์ที่แตกต่างกันใน recompression ที่นี่เป็นเอกสาร 7zip ไวยากรณ์
CPHPython
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.