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


Da Windows Explorer (seit mindestens Windows XP) einige grundlegende Unterstützung für ZIP-Dateien bietet, scheint es, dass es eine Befehlszeile-Entsprechung geben sollte, aber ich kann scheinen, kein Zeichen von einem zu finden.

Wird Windows (XP, Vista, 7, 8, 2003, 2008, 2013) mit einem integrierten Befehlszeilentool ausgeliefert, oder muss ich bei Drittanbieter-Tools bleiben?


111
2017-07-10 18:30


Ursprung


Ich bin mir nicht ganz sicher, warum diese Frage geschlossen ist. Dies kommt häufig in Form von "Wie komprimiere ich meine Protokolle?", Die definitiv "Operationen, Wartung und Überwachung" ist. Die Frage könnte umformuliert werden, um enger zu sein, nehme ich an, aber die Lösungen sind allgemein. - alficles
Nicht sicher, warum dies geschlossen ist, da es der erste Hit auf Google für "Windows 2008 Zip" ist - AlSki
^ Ich fühle den gleichen Weg (klar), besonders in Anbetracht der akzeptierten Antwort. - Electrons_Ahoy
Unter Windows 7 können Sie auch verwenden compact - jyz
Windows eingebaute Komprimierung / Dekomprimierung von Utilities - stackoverflow.com/questions/28043589/... - npocmaka


Antworten:


Es ist nicht in Windows integriert, aber es ist in der Ressourcen-Kit-Tools wie 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

56
2017-07-10 18:37



Schnappen! Da gehen wir! Vielen Dank! - Electrons_Ahoy
Falscher Link! Korrekte Links sind: microsoft.com/downloads/ ... - Lars Fastrup
Kann dies auch auf Windows Server 2008 verwendet werden? - Max
Dies ist weit entfernt von einem brauchbaren ZIP-Client. Sie können Ordner nicht komprimieren und es scheint keine Möglichkeit zu geben, komprimierte Dateien zu einem vorhandenen Archiv hinzuzufügen. Vermeiden. - roufamatic
Compress ist eigentlich kein ZIP-Client. Es erstellt die Dateien, die Sie auf MS-DOS- und Windows 3.11 / 95-Installationsdisketten finden. z.B. WINSOCK.DL_ wird zu WINSOCK.DLL erweitert. Sie können die Dateien mit entpacken expand. - Bryan


Nicht dass ich wüsste. Soweit es Drittanbieter-Tools gibt, hat 7zip eine ziemlich nette Befehlszeilenschnittstelle und die Binärdatei kann mit Ihrer App im Verzeichnis der App verteilt werden, so dass Sie sich nicht darauf verlassen müssen, dass sie im Voraus installiert wird.


24
2017-07-10 18:33



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 von Drittanbietern installiert. Trotzdem danke. - Electrons_Ahoy
Wie ich schon sagte, Sie müssen es nicht installieren. Kopieren Sie die Binärdatei irgendwo in einen Ordner und führen Sie sie von dort aus. - Chris
Nun, Sie und ich betrachten das nicht als Installation. Der betreffende IT-Manager tut das aber, wenn Sie wissen, was ich meine. :) - Electrons_Ahoy
Ha, also starte die 7zip-Binärdatei von einer Remote-Netzwerkfreigabe :) - Brent Pabst


Powershell tut es. Sehen:

Komprimieren Sie Dateien mit Windows PowerShell und verpacken Sie dann ein Windows Vista-Sidebar-Gadget


21
2017-07-11 08:29



Süss! Ich dachte mir, dass es auch eine Powershell-Lösung geben muss. - Electrons_Ahoy


.Net 4.5 hat diese Funktionalität eingebaut und kann von PowerShell genutzt werden. Sie müssen auf Server 2012, Windows 8 oder .NET manuell 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)

13
2018-02-25 19:50





Eine andere Lösung, die auf der Superuser-Site gefunden wird, verwendet das native com-Windows-Objekt in der .bat-Datei:

Können Sie eine Datei von der Eingabeaufforderung aus komprimieren, indem Sie NUR die integrierte Windows-Funktion verwenden, um Dateien zu komprimieren?


6
2018-02-03 14:26