Verfügt Windows über einen integrierten ZIP-Befehl für die Befehlszeile?

119

Da der Windows Explorer (seit mindestens Windows XP) eine grundlegende Unterstützung für ZIP-Dateien bietet, sollte es anscheinend eine entsprechende Befehlszeile geben, aber ich kann anscheinend keine Anzeichen dafür finden.

Wird Windows (XP, Vista, 7, 8, 2003, 2008, 2013) mit einem integrierten Befehlszeilen-Zip-Tool ausgeliefert, oder muss ich mich an Tools von Drittanbietern halten?

Electrons_Ahoy
quelle
5
Ich bin nicht ganz sicher, warum diese Frage geschlossen ist. Dies kommt häufig in Form von "Wie komprimiere ich meine Protokolle?" Vor, was definitiv "Betrieb, Wartung und Überwachung" ist. Ich nehme an, die Frage könnte enger formuliert werden, aber die Lösungen sind allgemein.
Alficles
3
Nicht sicher, warum dies geschlossen ist, da es der erste Treffer auf Google für "Windows 2008 Zip" ist
AlSki
2
^ Mir geht es (eindeutig) genauso, besonders wenn man die akzeptierte Antwort berücksichtigt.
Electrons_Ahoy
1
Unter Windows 7 können Sie auchcompact
jyz
Integrierte
npocmaka

Antworten:

56

Es ist nicht in Windows integriert, befindet sich jedoch in den Resource Kit-Tools als 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.

Beispiele:

COMPRESS temp.txt compressed.txt
COMPRESS -R *.*
COMPRESS -R *.exe *.dll compressed_dir
Bryan
quelle
1
Falscher Link! Richtige Links sind: microsoft.com/downloads/…
Lars Fastrup
1
Kann dies auch auf Windows Server 2008 verwendet werden?
Max
7
Dies ist weit entfernt von einem verwendbaren ZIP-Client. Sie können keine Ordner komprimieren und es scheint keine Möglichkeit zu geben, komprimierte Dateien zu einem vorhandenen Archiv hinzuzufügen. Vermeiden.
Roufamatic
Alle anderen Benutzer erhalten die Meldung "Der komprimierte (komprimierte) Ordner ist ungültig oder beschädigt", wenn Sie auf die mit dieser Methode komprimierte Datei doppelklicken.
Luke Sampson
4
Compress ist eigentlich kein ZIP-Client. Es werden die Dateien erstellt, die Sie auf MS-DOS- und Windows 3.11 / 95-Installationsdisketten gefunden haben. Beispiel: WINSOCK.DL_ wird zu WINSOCK.DLL erweitert. Sie können die Dateien mit entpacken expand.
Bryan
25

Nicht dass ich wüsste. In Bezug auf Tools von Drittanbietern verfügt 7zip über eine hübsche Befehlszeilenschnittstelle, und die Binärdatei kann mit Ihrer App im App-Verzeichnis verteilt werden, sodass Sie sich nicht darauf verlassen müssen, dass sie vorab installiert wird.

Chris
quelle
Ich bin ein großer Fan von 7Zip, aber das aktuelle Problem betrifft einen Computer, auf dem ich keine Installationsrechte habe, und es ist kein Zip-Widget eines Drittanbieters installiert. Trotzdem danke.
Electrons_Ahoy
5
Wie gesagt, du musst es nicht installieren. Kopieren Sie die Binärdatei in einen Ordner und führen Sie sie von dort aus.
Chris
1
Nun, Sie und ich denken nicht, dass die Installation. Der betreffende IT-Manager tut dies jedoch, wenn Sie wissen, was ich meine. :)
Electrons_Ahoy
2
Ha, also starte die 7zip-Binärdatei von einer entfernten Netzwerkfreigabe :)
Brent Pabst
13

In .Net 4.5 ist diese Funktionalität bereits integriert und kann von PowerShell genutzt werden. Sie müssen auf Server 2012, Windows 8 oder .NET 4.5 installiert sein.

[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)
MDMarra
quelle
0

Hierfür gibt es einen einzigen einfachen PowerShell-Befehl. (PowerShell v5.0 +)

Zu zip:

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

Entpacken:

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

Quellen:

Besonderer Dank geht an @Ramhound

Cowlinator
quelle