Windows ha un comando ZIP incorporato per la riga di comando?


119

Poiché Windows Explorer (almeno da Windows XP) ha un supporto di base per i file ZIP, sembra che ci dovrebbe essere un equivalente della riga di comando, ma non riesco a trovare alcun segno di uno.

Windows (XP, Vista, 7, 8, 2003, 2008, 2013) viene fornito con uno strumento zip da riga di comando incorporato o devo utilizzare strumenti di terze parti?


5
Non sono del tutto sicuro del perché questa domanda sia chiusa. Ciò si presenta frequentemente sotto forma di "Come comprimere i miei registri?", Che è sicuramente "Operazioni, manutenzione e monitoraggio". La domanda potrebbe essere riformulata per essere più ristretta, suppongo, ma le soluzioni sono generali.
alficles,

3
Non sono sicuro del motivo per cui questo è chiuso come il primo successo su Google per "Windows 2008 zip"
AlSki

2
^ Mi sento allo stesso modo (chiaramente), soprattutto considerando la risposta accettata.
Electrons_Ahoy

1
Su Windows 7 puoi anche usarecompact
jyz

Finestre comprimere built-in / decomprimere utils - stackoverflow.com/questions/28043589/...
npocmaka

Risposte:


56

Non è incorporato in Windows, ma è negli strumenti di Resource Kit come 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.

Esempi:

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

1
Link errato! I collegamenti corretti sono: microsoft.com/downloads/…
Lars Fastrup,

1
Può essere utilizzato anche su Windows Server 2008?
Max

7
Questo è molto lontano da un client ZIP utilizzabile. Non è possibile comprimere le cartelle e sembra che non ci sia modo di aggiungere file compressi a un archivio esistente. Evitare.
roufamatic,

Qualcun altro ottiene "La cartella compressa (zippata) non è valida o danneggiata" quando si fa doppio clic sul file compresso con questo metodo?
Luke Sampson,

4
Compress non è in realtà un client ZIP. Crea quei file che hai usato per trovare sui dischi di installazione MS-DOS e Windows 3.11 / 95. ad esempio WINSOCK.DL_ si espande in WINSOCK.DLL. È possibile decomprimere i file utilizzando expand.
Bryan,

25

Non che ne sia consapevole. Per quanto riguarda gli strumenti di terze parti, 7zip ha un'interfaccia a riga di comando piuttosto carina e il file binario può essere distribuito con la tua app nella directory dell'app, quindi non devi fare affidamento sul fatto che sia installato in anticipo.


Sono un grande fan di 7Zip, ma il problema attuale è su una macchina su cui non ho i diritti di installazione e non è installato un widget zip di terze parti. Grazie comunque.
Electrons_Ahoy,

5
Come ho detto, non è necessario installarlo. Copia il file binario in una cartella da qualche parte ed eseguilo da lì.
Chris,

1
Bene, io e te non consideriamo l'installazione. Il responsabile IT in questione lo fa, tuttavia, se sai cosa intendo. :)
Electrons_Ahoy,

2
Ah, quindi esegui il binario 7zip da una condivisione di rete remota :)
Brent Pabst,


13

.Net 4.5 ha questa funzionalità integrata e può essere sfruttata da PowerShell. Dovrai essere su Server 2012, Windows 8 o avere .Net 4.5 installato 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)


0

Esiste un unico, semplice comando PowerShell per questo. (PowerShell v5.0 +)

Comprimere:

Compress-Archive -LiteralPath 'C:\mypath\testfile.txt' -DestinationPath "C:\mypath\Test.zip"

Per decomprimere:

Expand-Archive -LiteralPath "C:\mypath\Test.Zip" -DestinationPath "C:\mypath" -Force

fonti:

Un ringraziamento speciale a @Ramhound

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.