Можно ли создать zip-файл без использования двоичного файла zip?

Можно ли создать zip-файл без использования двоичного файла zip?

В основном я работаю над скриптом оболочки в Cygwin, который требует от меня заархивировать несколько файлов (это должен быть zip, а не gzip). На сервере, над которым я работаю, не установлен двоичный файл zip, и я не могу его установить, так как для этого потребуется RFC (запрос на изменение).

Единственный способ создать zip на данный момент — выбрать нужные файлы в среде Windows, щелкнуть правой кнопкой мыши > отправить в сжатую папку zip. Но это сводит на нет смысл наличия скрипта оболочки для выполнения этой работы.

Есть ли другой способ сделать это через оболочку Unix или Windows CMD?

решение1

Конечно, используйтеzip-файл PythonМодуль. Python установлен повсеместно, так что вам, вероятно, не придется запрашивать его установку. Модуль zipfile поставляется со стандартной библиотекой Python, так что он, по сути, гарантированно будет установлен, если установлен сам Python.

Вы можете использовать его, написав короткий скрипт на Python, или используя его собственный интерфейс командной строки (примеры в конце страницы документации).

решение2

Конечно, просто используйте powershell. Пример ниже создает foo.zip, содержащий foo.txt.

PS C:\Users\steve_000> Compress-Archive -U -LiteralPath foo.txt -DestinationPath foo.zip
PS C:\Users\steve_000> dir foo.zip


    Directory: C:\Users\steve_000


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----         15/04/17  10:52 PM           1119 foo.zip


PS C:\Users\steve_000>

Более подробная информация наhttps://msdn.microsoft.com/powershell/reference/5.1/microsoft.powershell.archive/Compress-Archive

Связанный контент