É possível criar um arquivo zip sem usar o binário zip?

É possível criar um arquivo zip sem usar o binário zip?

Basicamente, estou trabalhando em um script de shell no Cygwin que exige que eu compacte alguns arquivos (deve ser um zip, não pode ser gzip). O servidor em que estou trabalhando não possui o binário zip instalado e não consigo instalá-lo pois seria necessário que fosse feito um RFC (request for change).

A única maneira de criar um zip por enquanto é selecionar os arquivos que desejo no ambiente Windows, clicar com o botão direito > enviar para a pasta zip compactada. Mas isso vai contra o propósito de ter um script de shell para fazer o trabalho.

Existe alguma outra maneira de fazer isso através do shell Unix ou do Windows CMD?

Responder1

Claro, use oArquivo zip Pythonmódulo. O Python é instalado de forma bastante onipresente, então você provavelmente não precisará solicitar sua instalação. O módulo zipfile vem com a biblioteca padrão do Python, então é essencialmente garantido que ele será instalado se o próprio Python estiver.

Você pode usá-lo escrevendo um script Python curto ou usando sua própria interface de linha de comando (exemplos no final da página de documentação).

Responder2

Claro, basta usar o PowerShell. O exemplo abaixo cria foo.zip, contendo 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>

Mais detalhes emhttps://msdn.microsoft.com/powershell/reference/5.1/microsoft.powershell.archive/Compress-Archive

informação relacionada