Básicamente, estoy trabajando en un script de shell en Cygwin que requiere que comprima un par de archivos (debe ser un zip, no puede ser gzip). El servidor en el que estoy trabajando no tiene el binario zip instalado y no puedo instalarlo ya que requeriría realizar una RFC (solicitud de cambio).
La única forma en que puedo crear un zip por ahora es seleccionar los archivos que quiero en el entorno de Windows, hacer clic derecho > enviar a la carpeta zip comprimida. Pero esto anula el propósito de tener un script de shell para hacer el trabajo.
¿Hay ALGUNA otra forma de hacer esto a través del shell de Unix o CMD de Windows?
Respuesta1
Claro, usa elarchivo zip de Pythonmódulo. Python se instala de manera bastante ubicua, por lo que probablemente no necesitará solicitar su instalación. El módulo zipfile viene con la biblioteca estándar de Python, por lo que esencialmente se garantiza que se instalará si Python lo está.
Puede usarlo escribiendo un breve script de Python o usando su propia interfaz de línea de comandos (ejemplos al final de la página de documentación).
Respuesta2
Claro, solo usa powershell. El siguiente ejemplo crea foo.zip, que contiene 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>
Más detalles enhttps://msdn.microsoft.com/powershell/reference/5.1/microsoft.powershell.archive/Compress-Archive