Команда: zip
sfk zip out[.zip] [opt] mydir [файл1 файл2 ...]
sfk zip out[.zip] [опция] -dir mydir -file файл1 файл2
добавить файлы и папки в ZIP-файл.
О кодировке имени файла
если имена файлов содержат специальные символы, такие как умляуты
или ударения применяется следующее:
- под окнами sfk zip хранит имена файлов
1. в кодовой странице OEM 866 вашей системы,
для поддержки старых инструментов извлечения.
2. и как UTF-8, в формате zip расширение 0x7075
которые будут использоваться современными программами.
- под linux sfk хранит только одно имя, которое
помечается как UTF-8, если такая кодировка обнаружена.
в любой другой кодировке, например, символы акцента в старом файле
системах sfk zip хранит символы как есть, а позже
извлечение может привести к неправильным именам.
- Расширения имен UTF-8 поддерживаются только
инструменты для извлечения zip с датой, такие как 7zip, Windows 10
File Explorer или sfk unzip.
- имена с диакритическими знаками обмениваются между Mac и
Системы, отличные от Mac, могут выглядеть неправильно из-за Decomposed
Юникод, используемый в Mac OS/X.
если вы извлекаете файлы на приемнике, то открывайте
Проводник Windows и увидеть неожиданное имя файла
символов, это означает, что инструмент распаковки получателя
устарел и не понимает расширения UTF-8.
- если вы просто видите неправильные символы ударения
это означает, что система приемника использует другой
Кодовая страница OEM, затем отправитель (sfk sysinfo).
- если вы видите #Uxxxx, это означает, что имена файлов содержат
сложные символы Юникода, такие как азиатские или кириллица.
вы можете поискать в Google U+xxxx, чтобы увидеть, какой символ
на самом деле имеется в виду.
Нет обновления существующего контента
если выходной zip-файл уже существует
то только новые файлы, которых еще нет
можно добавить. sfk не может обновить
содержимое и время в существующих zip-файлах.
sfk zip может не сравнивать добавленные имена файлов
к существующим именам в zip, если кодировки имен
смешаны или неясны, особенно. на линукс/мак.
Поддержка 64-битных zip-файлов
если содержимое больше 2 Гб, sfk zip
автоматически создаст 64-битный zip-файл.
не каждый инструмент распаковки может прочитать это.
SFK XE не может читать содержимое zip-файла размером более 2 ГБ.
опции
-nosub не включает подпапки.
-force перезаписать существующий zip-файл.
-zipext добавить .zip к выходному имени файла даже
если у него уже есть расширение.
-asdir x создать новую папку x внутри zip
и добавьте все файлы в эту папку.
нельзя добавить в существующую папку.
-rel[names] удалить папку верхнего уровня из
имена файлов внутри zip.
-big показать сводку самых больших файлов.
-big=n показать сводку n самых больших файлов.
-old=n показать сводку n самых старых файлов.
-nosum не показывать резюме.
-text включает только текстовые файлы ascii
но без бинарных файлов.
-nometa не добавлять комментарий os/code,
или установите SFK_CONFIG=nozipmeta
-setexec маска1 маска2 !маска3 ...
пометить файлы как исполняемые с помощью
операционные системы Linux/Mac.
должен следовать -dir ...
-offtime хранить время файла, которое
один час выходной, в зависимости от летнего времени.
подробнее см.: sfk help offtime
рендеринг имени выходного файла
если имя выходного файла не содержит '.'
затем добавляется «.zip». используйте -zipext, чтобы добавить
всякий раз, если он не содержит .zip
выходная цепочка
sfk zip поддерживает цепочку вывода текста,
для передачи имен файлов для фильтрованного отображения.
смотрите также
sfk zipuni использует только имена файлов UTF-8,
для поддержки старых инструментов Linux.
sfk unzip распакуйте zip-файл.
sfk zip, чтобы архивировать файлы, выбранные
предыдущая команда.
sfk zip очень гибкий и простой в использовании,
но если вам нужны специальные функции, такие как
прямое обновление zip-файла, которое вы можете рассмотреть
дополнительные инструменты для застегивания. найти обзор на:
stahlworks.com/zip
Примеры
sfk заархивировать mydir !.bak
добавить все содержимое mydir в out.zip,
за исключением файлов .bak, используя короткий
синтаксис выбора файла.
sfk zip out -dir foo bar -file !.bak
добавить все содержимое папки foo и папки
bar в out.zip, кроме файлов .bak,
используя длинный синтаксис выбора файла.
sfk распаковать -dir mydir -subdir !save !\tmp
-файл !.bak !старый
добавить весь mydir в out.zip, кроме
подпапки, имеющие в своем имени «сохранить» или
начиная с 'tmp' и кроме файлов
с расширением .bak или словом «старый» в названии.
sfk выберите mydir .png + zip для вывода
добавьте все .png изображения mydir в out.zip.
sfk распаковать mydir .png
то же, что и выше, в один шаг.
sfk zip out - с 3d mydir
добавить файлы, измененные за последние три дня.
sfk zip out.zip -flist mylist.txt
прочитать список имен файлов из mylist.txt
и добавьте эти файлы в out.zip
список sfk -late=5 mydir +zipto out -force
записать 5 новейших файлов в out.zip,
перезапись существующего файла out.zip
sfk zip out -setexec /conf/ .sh -dir mydir
zip mydir, помечать файлы с именами точно conf,
либо находясь в папке conf, либо имея .sh
в их имени как исполняемый файл в Linux.
sfk unzip -todir tmpdoc in.odt
sfk zip -rel out.odt tmpdoc
извлечь документ писателя openoffice
в папку tmpdoc, затем перепаковать в
out.odt без имени папки tmpdoc.
sfk sel -sincedir proj1 proj2 +zipto out
если proj2 является более новой копией proj1,
собрать все файлы добавленные или измененные
начиная с proj1 в out.zip
sfk распаковать mydir +filter -!test
запаковать mydir в out.zip, но не печатать
любые имена с «тестом» на терминал.