7Zip in der commandline
Als favorisiertes Packprogramm benutze ich 7zip. Der Grad der Kompression überzeugt mich total.
Andere Formate benutze ich nur wenn es notwendig ist. Z.b. wenn unter Windows kein Programm zum entpacken vorhanden ist, benutze ich zip.
Eine kleiner Sammlung der von mir am häufigsten benutzen Kommandos.
In Windows kann es sein dass die Exe unter verschiedenen Namen vorhanden ist. Die geläuftigsten sind 7z.exe oder 7za.exe. Deshalb überprüfe ich in meinen Scripten, z.B. in 7Zip.ps1, welche exe vorhanden ist.
In Linux ist standardmäßig der Befehl 7z zu benutzen.
Nach und nach werden weitere Befehle kommen.
Hilfreich ist es die 7z im PATH zu haben unter Windows geht das so:
$ENV:PATH="C:\Program Files\7-Zip;$ENV:PATH"
SET PATH=C:\Program Files\7-Zip;%PATH%
Erster befehl ist für die Powershell, zweiter Befehl für die CMD
Archiv entpacken
Einfaches entpacken in ein Verzeichnis
7z x -y ArchivName.7z -o[TargetFolder]
Überschreiben von vorhandenen Dateien: (AutoOverwriteAll: -aoa)
7z x -y ArchivName.7z -aoa -o[TargetFolder]
Dateien auflisten
7z l ArchivName.7z
Dateien exportieren
Wenn man möchte dass alle Dateien in einen Ordner exportiert werden, ohne die Ordnerstruktur bei zu behalten, kann folgender befehl benutzt werden.
7z e -y ArchivName.7z -o[TargetFolder]
Archiv anlegen
Beispiel höchste Kompression:
7z u -mx=9 ArchivName.7z FolderToCompress/*
Beispiel Split mit 1GB ohne kompression:
7z u -y -mx=0 -v1g ArchivName.7z BigFileToSplit.xxx
Anlegen mit Dateiliste
7zip kann auch zum anlegen eines Archives eine Liste mit Pfaden übergeben werden.
Die Datei die übergeben wird beinhaltet einen Pfad pro Zeile, z.B.
Datei1.ext
../Datei2.ext
../Ordner
Die Datei muss 7zip nur noch mit einem @ am Ende übergeben werden.
Hier ein Beispielaufruf:
7z a Archive.7z @FileList.txt
Usefull options
- -y All questions will be answered with yes
- -p Encrypt with password