Pregunta ¿Windows tiene un comando ZIP incorporado para la línea de comandos?


Como el Explorador de Windows (ya que al menos Windows XP) tiene algún soporte básico para archivos ZIP, parece que debería haber un equivalente en la línea de comandos, pero parece que no puedo encontrar ningún signo de uno.

¿Windows (XP, Vista, 7, 8, 2003, 2008, 2013) se entrega con una herramienta integrada de línea de comandos zip, o tengo que seguir con herramientas de terceros?


111
2017-07-10 18:30


origen


No estoy completamente seguro de por qué esta pregunta está cerrada. Esto aparece frecuentemente en la forma de "¿Cómo comprimo mis registros?", Que es definitivamente "Operaciones, mantenimiento y monitoreo". La pregunta podría reformularse para ser más estrecha, supongo, pero las soluciones son generales. - alficles
No estoy seguro de por qué esto está cerrado ya que es el primer éxito en Google para "Windows 2008 zip" - AlSki
^ Me siento de la misma manera (claramente), especialmente considerando la respuesta aceptada. - Electrons_Ahoy
En Windows 7 también puedes usar compact - jyz
Windows incorporado comprime / descomprime utils - stackoverflow.com/questions/28043589/… - npocmaka


Respuestas:


No está integrado en Windows, pero está en el Herramientas del kit de recursos como COMPRESS,

C:\>compress /?

Syntax:

COMPRESS [-R] [-D] [-S] [ -Z | -ZX ] Source Destination
COMPRESS -R [-D] [-S] [ -Z | -ZX ] Source [Destination]

Description:
Compresses one or more files.

Parameter List:
-R Rename compressed files.

-D Update compressed files only if out of date.

-S Suppress copyright information.

-ZX LZX compression. This is default compression.

-Z MS-ZIP compression.

Source Source file specification. Wildcards may be
used.

Destination Destination file | path specification.
Destination may be a directory. If Source is
multiple files and -r is not specified,
Destination must be a directory.

Ejemplos:

COMPRESS temp.txt compressed.txt
COMPRESS -R *.*
COMPRESS -R *.exe *.dll compressed_dir

56
2017-07-10 18:37



¡Chasquido! ¡Aquí vamos! ¡Gracias! - Electrons_Ahoy
¡Link incorrecto! Enlaces correctos es: microsoft.com/downloads/… - Lars Fastrup
¿Se puede usar esto también en Windows Server 2008? - Max
Esto está muy lejos de ser un cliente ZIP utilizable. No puede comprimir carpetas y parece que no hay manera de agregar archivos comprimidos a un archivo existente. Evitar. - roufamatic
Comprimir no es en realidad un cliente ZIP. Crea los archivos que solía encontrar en los discos de instalación de MS-DOS y Windows 3.11 / 95. p.ej. WINSOCK.DL_ se expande a WINSOCK.DLL. Puedes descomprimir los archivos usando expand. - Bryan


No que yo supiese. En cuanto a las herramientas de terceros, 7zip tiene una interfaz de línea de comandos bastante agradable y el binario se puede distribuir con su aplicación en el directorio de la aplicación, por lo que no tiene que confiar en que se instale antes de tiempo.


24
2017-07-10 18:33



Soy un gran fan de 7Zip, pero el problema actual está en una máquina en la que no tengo derechos de instalación, y no hay un widget zip de terceros instalado. Gracias, sin embargo. - Electrons_Ahoy
Como he dicho, no tienes que instalarlo. Copia el binario a una carpeta en algún lugar y ejecútalo desde allí. - Chris
Bueno, tú y yo no consideramos que la instalación. El administrador de TI en cuestión lo hace, sin embargo, si sabes a qué me refiero. :) - Electrons_Ahoy
Ja, así que ejecuta el binario 7zip desde un recurso compartido de red remota :) - Brent Pabst


Powershell lo hace. Ver:

Comprimir archivos con Windows PowerShell y luego empaquetar un gadget de barra lateral de Windows Vista


21
2017-07-11 08:29



¡Dulce! Pensé que también debía haber una solución de PowerShell. - Electrons_Ahoy


.Net 4.5 tiene esta funcionalidad incorporada, y puede ser aprovechada por PowerShell. Deberá estar en Server 2012, Windows 8 o tener .Net 4.5 instalado manualmente.

[Reflection.Assembly]::LoadWithPartialName("System.IO.Compression.FileSystem")
$Compression = [System.IO.Compression.CompressionLevel]::Optimal
$IncludeBaseDirectory = $false

$Source = "C:\Path\To\Source"
$Destination = "C:\CoolPowerShellZipFile.zip"

[System.IO.Compression.ZipFile]::CreateFromDirectory($Source,$Destination,$Compression,$IncludeBaseDirectory)

13
2018-02-25 19:50





Otra solución encontrada en el sitio de superusuario usa el objeto com nativo de Windows en el archivo .bat:

¿Puede comprimir un archivo desde el símbolo del sistema utilizando SOLO la capacidad integrada de Windows para comprimir archivos?


6
2018-02-03 14:26