Wie können Sie aus dem Skript heraus zippen oder entpacken, indem Sie NUR die in Windows integrierten Funktionen verwenden?

Unter Windows können Sie einige Dateien zippen, indem Sie

Rechtsklick → Senden anKomprimierter (gezippter) Ordner

Entpacken Sie die Dateien durch Doppelklick auf die .zip-Datei und extrahieren Sie sie.

Gibt es eine Möglichkeit, diese Fähigkeiten von einem Skript (.bat-Datei) aus anzuwenden, ohne dass eine Drittanbietersoftware installiert werden muss?

Lösung

Damals, im Jahr 2013, war das nicht möglich. Microsoft hat keine ausführbare Datei dafür zur Verfügung gestellt.

Unter diesem Link finden Sie eine VBS-Methode, die dies ermöglicht. https://superuser.com/questions/201371/create-zip-folder-from-the-command-line-windows

Ab Windows 8 ist .NET Framework 4.5 standardmäßig installiert, mit System.IO.Compression.ZipArchive und PowerShell kann man Skripte schreiben, um dies zu erreichen, siehe https://stackoverflow.com/a/26843122/71312

Kommentare (8)

Ich habe gesucht, um genau diese Frage zu beantworten und von meiner Forschung, DiryBoy's Antwort scheint richtig zu sein.

Ich habe herausgefunden, dass das Programm compact.exe Dateien komprimiert, aber nicht, um eine stark komprimierte Datei (oder einen Satz von Dateien) zu erstellen. Es ist vergleichbar mit der Option, die man erhält, wenn man mit der rechten Maustaste auf einen Laufwerksbuchstaben oder eine Partition in Windows klickt. Sie erhalten die Möglichkeit, Dateien zu bereinigen (temporäre Dateien zu entfernen usw.) und zu komprimieren. Die komprimierten Dateien sind immer noch zugänglich, werden aber nur komprimiert, um Platz auf einem Laufwerk zu schaffen, auf dem wenig Speicherplatz vorhanden ist.

Ich habe auch compress.exe gefunden, das ich zufällig auf meinem Computer hatte. Es ist auf den meisten Windows-Rechnern nicht vorhanden und ist Teil des 2003 Resource Kit. Es erstellt eine Art gezippte Datei, die aber eher den Dateien von einer Windows-Setup-Diskette ähnelt (mit dem Unterstrich als letztem Zeichen der Dateierweiterung oder des Namens). Und der Befehl extract.exe extrahiert diese Dateien.

Wie auch immer, das Mantra ist, wenn es nativ über die GUI gemacht werden kann, dann gibt es wahrscheinlich einen Weg, es über Batch, .vbs oder eine andere Art von Skript in der Kommandozeile zu machen. Da Windows die Option 'Senden an' hat, um eine Zip-Datei zu erstellen, wusste ich, dass es eine Möglichkeit geben musste, dies über die Befehlszeile zu tun, und ich fand einige Optionen.

Hier ist ein großartiger Link, der zeigt, wie man eine Datei mit Windows-eigenen Befehlen zippen kann.

https://superuser.com/questions/110991/can-you-zip-a-file-from-the-command-prompt-using-only-windows-built-in-capabili

Ich habe es mit einem Verzeichnis getestet, das mehrere verschachtelte Dateien und Ordner enthält, und es hat perfekt funktioniert. Befolgen Sie einfach das Format der Befehlszeile.

Es gibt auch eine Möglichkeit, die Dateien per Kommandozeile zu entpacken, die ich ebenfalls gefunden habe. Eine Möglichkeit besteht darin, ein Explorer-Fenster zu öffnen, in dem der Inhalt der gezippten Datei angezeigt wird. Einige dieser Programme verwenden auch Java, das nicht unbedingt von Windows stammt, aber so verbreitet ist, dass es fast so aussieht.

https://superuser.com/questions/149489/does-windows-7-have-unzip-at-the-command-line-installed-by-default

https://stackoverflow.com/questions/1021557/how-to-unzip-a-file-using-the-command-line

Kommentare (1)

Sie können eine gezippte oder nativ komprimierte Windows-Datei mit dem Befehl Expandieren dekomprimieren, z. B.

expand MyFile.zip myFile
Kommentare (5)