Was ist das Befehlszeilenargument von 7-Zip, um ein selbstextrahierendes Archiv zu erstellen?

8

Ich habe überall gesucht und konnte von niemandem eine klare Antwort finden.

Wenn ich den Inhalt von C: \ Temp in eine Datei namens Temp.exe (im 7z-Format) packen möchte, die sich selbst extrahiert, wie mache ich das in einer Batch-Datei?

Das funktioniert nicht:

"C:\Program Files\7-Zip\7z.exe" a -t7z -mx5 -sfx 7z.sfx directoryname archive.exe -mmt

Was ich daraus bekomme, ist ein selbstextrahierendes Archiv namens 7z.sfx. Kann das nicht herausfinden.

Djangofan
quelle

Antworten:

9

Ich habe es herausgefunden, nachdem ich damit herumgespielt habe:

:: zip
"C:\Program Files\7-Zip\7z.exe" a archive.exe -mmt -mx5 -sfx dirname
pause
Djangofan
quelle
4

Das Problem, das Sie hatten, ist, dass 7-zip keine Leerzeichen in den Argumenten mag. Was Sie wollten, war also eher:

"C:\Program Files\7-Zip\7z.exe" a archive.exe -mmt -mx5 -sfx7z.sfx dirname
MrPhilTX
quelle
2

Das sollte funktionieren:

"C:\Program Files\7-Zip\7z.exe" a -t7z -mx5 -sfx archive.exe directoryname -mmt

(PS: Program Files\7-zipZu Ihrer PATHUmgebungsvariablen hinzufügen, dort können Sie direkt auf die Datei zugreifen, 7z.exeanstatt "C:\Program Files\7-Zip\7z.exe")

Sathyajith Bhat
quelle
Es muss auf jedem System funktionieren. Da 7-zip standardmäßig auf allen Windows-Systemen in diesem Verzeichnis installiert wird, ist die Wahrscheinlichkeit, dass das Skript auf einem anderen System ausgeführt wird, sehr viel höher.
Djangofan
Verwenden Sie dann eine der folgenden Umgebungsvariablen: ProgramFiles = ProgramFiles (x86)
Mark Allen
1

Halte es einfach. Das Handbuch sagt die Standardeinstellung:

  • Typ ist 7z
  • Komprimierungsmethode ist 5( 0zum Kopieren und 9für Ultra verwenden )
  • ( -mmtist für Multithreading gedacht und möglicherweise veraltet, da das Handbuch nicht definiert ist.)

Dies gibt also die grundlegende Antwort als:

7z a -sfx archive.exe dir
Todd Partridge
quelle
0

Mit 7-zip gibt es eine Befehlszeilenversion namens 7z.exe, die Sie von der Website von 7-zip herunterladen können. Verwenden Sie zum Erstellen eines selbstextrahierenden Installationsprogramms das Flag -sfx, gefolgt von einer Zahl für den Komprimierungsbetrag.

Daisetsu
quelle
hat nicht funktioniert. siehe Frage Revision.
Djangofan
Sieht so aus, als müsstest du nur ein paar Dinge bewegen. Ich bin froh, dass es für dich geklappt hat.
Daisetsu