Ngoài những gì người khác đề xuất, điều quan trọng là phải chú ý đến tên tệp và thư mục của bạn vì Windows không nhất thiết phải giống như tên và đường dẫn tệp Linux. Nó đôi khi cũng thoát chúng khác nhau khi nén. Ví dụ có rất nhiều, nhưng quan trọng nhất là các tệp chấm (. Và ..), các tệp chỉ có trường hợp khác nhau (name.txt và NAME.txt), đường dẫn tệp tuyệt đối (/tmp/file.txt) . Một số ký tự khác được cho phép trong tên tệp trên Windows có thể gây ra sự cố khi Windows Explorer được sử dụng để mở tệp. Trong trường hợp của tôi ':' nhân vật là người phá vỡ thỏa thuận nhưng mất rất nhiều công sức để tìm ra điều này.
Vì vậy, trước khi bạn tiếp tục sử dụng nhiều tham số, tôi khuyên bạn nên làm theo một quy trình đơn giản:
Xác định vị trí thư mục hoặc tập tin nén của bạn lên.
chạy: zip -9 -r -k zip-modified-names.zip / path / to / your / thư mục
- chú ý đến những gì giao diện điều khiển phun ra. Trong trường hợp của tôi ':' trong tên tệp đã bị loại bỏ.
- Di chuyển tệp zip vào máy windows và cố gắng mở nó.
Nếu điều này hoạt động, bạn có thể tốt hơn nên loại bỏ các ký tự đã bị loại bỏ bởi tùy chọn -k khỏi tên tệp / thư mục của bạn hãy thử nén bình thường. Lưu ý một số thông số như -k có tác dụng phụ. Trong trường hợp này -k mâu thuẫn với tùy chọn -q (đối với liên kết sym).
Ngoài ra tùy chọn -k có thể khiến tên tệp của bạn không thể đọc được. Trong trường hợp của tôi, các tệp của tôi được đặt tên dựa trên thời gian tạo (ví dụ 10: 55: 39.pdf) để dễ dàng xác định vị trí bản ghi cần thiết từ kho lưu trữ, nhưng tùy chọn -k đã chuyển thành 105539.pdf mà người dùng không dễ đọc. Do đó, tôi đã thay đổi tên thành 10_55_39.pdf mở trên Windows mà không sử dụng tùy chọn -k nhưng vẫn có thể đọc được.