Làm cách nào để chia tệp .zip thành nhiều phân đoạn?


27

Tôi đã cài đặt tất cả các tiện ích dòng lệnh và cần chia .zip(các) tệp mới hiện có thành (50MB) .ziptrong Terminal.

tức là Thư mục X = 900MB> Tạo .ziplưu trữ tự giải nén > Chia .ziplưu trữ thành các Phân đoạn 50 MB (tức là Folder.X.001.zip)

Theo trang người đàn ông ở đây là các lệnh:

Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
Zip 3.0 (July 5th 2008). Usage:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
  The default action is to add or replace zipfile entries from list, which
  can include the special name - to compress standard input.
  If zipfile and list are omitted, zip compresses stdin to stdout.
  -f   freshen: only changed files  -u   update: only changed or new files
  -d   delete entries in zipfile    -m   move into zipfile (delete OS files)
  -r   recurse into directories     -j   junk (don't record) directory names
  -0   store only                   -l   convert LF to CR LF (-ll CR LF to LF)
  -1   compress faster              -9   compress better
  -q   quiet operation              -v   verbose operation/print version info
  -c   add one-line comments        -z   add zipfile comment
  -@   read names from stdin        -o   make zipfile as old as latest entry
  -x   exclude the following names  -i   include only the following names
  -F   fix zipfile (-FF try harder) -D   do not add directory entries
  -A   adjust self-extracting exe   -J   junk zipfile prefix (unzipsfx)
  -T   test zipfile integrity       -X   eXclude eXtra file attributes
  -y   store symbolic links as the link instead of the referenced file
  -e   encrypt                      -n   don't compress these suffixes
  -h2  show more help

với -h2tôi nhận được:

Splits (archives created as a set of split files):
  -s ssize  create split archive with splits of size ssize, where ssize nm
              n number and m multiplier (kmgt, default m), 100k -> 100 kB
  -sp       pause after each split closed to allow changing disks
      WARNING:  Archives created with -sp use data descriptors and should
                work with most unzips but may not work with some
  -sb       ring bell when pause
  -sv       be verbose about creating splits
      Split archives CANNOT be updated, but see --out and Copy Mode below

.....

Using --out (output to new archive):
  --out oa  output to new archive oa
  Instead of updating input archive, create new output archive oa.
  Result is same as without --out but in new archive.  Input archive
  unchanged.
      WARNING:  --out ALWAYS overwrites any existing output file
  For example, to create new_archive like old_archive but add newfile1
  and newfile2:
    zip old_archive newfile1 newfile2 --out new_archive
  Cannot update split archive, so use --out to out new archive:
    zip in_split_archive newfile1 newfile2 --out out_split_archive
  If input is split, output will default to same split size
  Use -s=0 or -s- to turn off splitting to convert split to single file:
    zip in_split_archive -s 0 --out out_single_file_archive
      WARNING:  If overwriting old split archive but need less splits,
                old splits not overwritten are not needed but remain

Câu trả lời:


39

Bạn có existing.zipnhưng muốn chia nó thành 50Mcác phần có kích thước.

zip existing.zip --out new.zip -s 50m

sẽ tạo ra

new.zip
new.z01
new.z02
new.z03
....

Để giải nén chúng, trước tiên bạn nên thu thập các tệp lại với nhau và chạy zip -F new.zip --out existing.ziphoặc zip -s0 new.zip --out existing.zip, để tạo lại của bạn existing.zip. Sau đó, bạn có thể đơn giản unzip existing.zip.


Bạn mong đợi unzip new.zipsẽ hoạt động, nhưng tiếc là nó không được thực hiện

warning [new.zip]:  zipfile claims to be last disk of a multi-part archive;
  attempting to process anyway, assuming all parts have been concatenated
  together in order.  Expect "errors" and warnings...true multi-part support
  doesn't exist yet (coming soon).

và trong các thử nghiệm của tôi, nối các phần như nó gợi ý, tức là với con mèo và chạy giải nén, không thể giải nén tất cả các tệp của tôi .


1
Tôi đã có thể trích xuất dữ liệu của mình từ các tệp .zip (được tạo bằng Zip 3.0 trên dòng lệnh Mac OS X 10.11) bằng cách sử dụng 7-Zip chạy trên Windows trong một máy ảo. Tôi chỉ trỏ 7-Zip vào tệp new.zip trong một thư mục dùng chung và nó hoạt động như một bùa mê.
Người dùng5910

3
Mặc dù bạn không thể đơn giản sử dụng unzip new.zip, bạn chỉ cần nhấp vào new.zipmacOS và tất cả đều hoạt động. Cảm ơn!
Dan Rosenstark

4

Đây là những gì làm việc cho tôi:

zip -s 50m new.zip big.iso

Đối với các bộ phận 50MG

new.zip
new.z01
new.z02
...

Tạo các gói 3G với điều này (tốt cho việc đặt các tệp lớn trên đĩa FAT32)

zip -s 3g new.zip big.iso

Các hệ điều hành Mac mới giải nén các tệp này khi nhấp đúp vào tệp new.zip


2
Nhấp đúp vào tệp zip trên mac os 10.13.6 High Sierra đã không giải nén tệp lưu trữ ban đầu cho tôi. Tôi đã phải sử dụng ứng dụng 'The unarchiver' từ itunes.apple.com/us/app/the-unarchiver/id425424353
user674669

1
Tôi đã tách tệp zip được tạo bởi 7zip trên windows, kết thúc bằng một sơ đồ đặt tên tệp khác. Unarchiver đã có thể giải nén điều đó quá!
Tối đa

0

Tôi đã phải sử dụng Unarchiver để trích xuất tệp ZIP nhiều kết quả, nhưng thật kỳ lạ, nó đã tạo lại đường dẫn ban đầu đến tệp zip. ví dụ: ban đầu tôi đã tạo kho lưu trữ ở đây:

/ Tập / HD bên ngoài / Thư mục kiểm tra / my-multipart-archive-parts.zip

Và sao chép tất cả các phần của kho lưu trữ vào đây:

~ / Máy tính để bàn / Thư mục thử nghiệm /

Khi tôi sử dụng Unarchiver để giải nén các tệp, nó đã tạo ra điều này:

~ / Máy tính để bàn / Thư mục thử nghiệm / Tập / HD bên ngoài / Thư mục thử nghiệm / my-multipart-archive.zip

Rất kỳ quặc ...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.