Stapelverpackung von Archiven in 7z mit benutzerdefinierten Einstellungen

483
Ovaryraptor

Ich arbeite an der Archivierung und Komprimierung vieler Designelemente, die in ZIP- und RAR-Dateien gemischt werden.

Nach dem Basteln und Testen scheinen diese Einstellungen die besten Ergebnisse für mich zu erzielen:

Stapelverpackung von Archiven in 7z mit benutzerdefinierten Einstellungen

Ich verfolge diesen schönen Code, der in dieser Frage veröffentlicht wurde, und versuche, ihn so zu ändern, dass er die Einstellungen hat, die ich möchte.

Die .bat wird jedoch nicht ausgeführt.

Dies ist der Code, den ich habe:

for %%F in (*.rar) do ( "C:\Program Files\7-Zip\7z.exe" x -y -o"%%F_tmp" "%%F" * & pushd %%F_tmp & "C:\Program Files\7-Zip\7z.exe" a -y -r -t7z -m0=lzma2 -mx=9 -mfb=128 -md=512m -mmt:on ..\"%%~nF".7z * & popd & rmdir /s /q "%%F_tmp" ) 

Gibt es außerdem eine Möglichkeit, diese Option auf BEIDEN .zip und .rar aus derselben .bat auszuführen? Im Moment habe ich 2 Versionen.

1
Gibt es einen Grund, es in eine Zeile zu stopfen? Was funktioniert nicht? Um beide Dateitypen zu verarbeiten -> `für %% F in (* .rar * .zip) do ...` LotPings vor 6 Jahren 1
Die Batch-Datei funktioniert für mich auch in einer Zeile, aber ich bekomme `Systemfehler: Der Parameter ist falsch` im zweiten 7zip-Befehl. Worthwelle vor 6 Jahren 0
@LotPings Ich bin neu in Befehlszeilen-Scripting und wusste nicht, wohin ich zurückkehren soll. Ovaryraptor vor 6 Jahren 0

1 Antwort auf die Frage

2
LotPings

Die -mnt:onOption ist einfach falsch, zumindest bei mir7-Zip 18.05 (x64)

Diese Charge:

:: Q:\Test\2018\10\11\SU_1365974.cmd @Echo off Set z7="C:\Program Files\7-Zip\7z.exe" Set "z7o=a -y -r -t7z -m0=lzma2 -mx=9 -mfb=128 -md=512m "  for %%F in (*.rar *.zip) do (  %z7% x -y -o"%%F_tmp" "%%F" * pushd %%F_tmp %z7% %z7o% ..\"%%~nF".7z * ||(pause) popd  rmdir /s /q "%%F_tmp" Rem del "%%F" ) 

(Entfernen Sie das Rem vor del, um die ursprüngliche Archivdatei zu löschen.)
Diese Ergebnisse wurden mit Zip-Beispieldateien erstellt, die meist aus einer Arduino-Installation stammen.

> dir Datenträger in Laufwerk A: ist RamDisk Verzeichnis von A:\  2018-10-11 20:22 533.163 1802-064.7z 2018-01-27 15:38 535.890 1802-064.zip  2018-10-11 20:22 265.703 Adafruit_Circuit_Playground-1.6.9.7z 2017-10-21 18:06 408.442 Adafruit_Circuit_Playground-1.6.9.zip  2018-10-11 20:22 294.031 Adafruit_Circuit_Playground-1.8.0.7z 2018-03-09 19:39 472.998 Adafruit_Circuit_Playground-1.8.0.zip  2018-10-11 20:22 24.213 Adafruit_NeoPixel-1.1.3.7z 2017-11-30 20:26 36.399 Adafruit_NeoPixel-1.1.3.zip  2018-10-11 20:22 27.574 Adafruit_NeoPixel-1.1.6.7z 2018-03-09 19:39 40.682 Adafruit_NeoPixel-1.1.6.zip  2018-10-11 20:22 18.280 APA102-2.0.0.7z 2017-09-09 14:30 25.694 APA102-2.0.0.zip  2018-10-11 20:22 794 archive.7z 2018-09-24 14:13 1.582 archive.zip  2018-10-11 20:22 128.390 ArduinoJson-5.13.1.7z 2018-03-09 19:40 242.718 ArduinoJson-5.13.1.zip  2018-10-11 20:22 17.001 AS_BH1750-master.7z 2017-12-15 15:17 31.034 AS_BH1750-master.zip  2018-10-11 20:22 489.473 avrdude-6.3.0-arduino9-i686-w64-mingw32.7z 2017-11-23 20:43 645.974 avrdude-6.3.0-arduino9-i686-w64-mingw32.zip  2018-10-11 20:22 31.008 Bridge-1.7.0.7z 2018-01-05 22:14 61.431 Bridge-1.7.0.zip  2018-10-11 20:22 14.761 DallasTemperature-3.7.6.7z 2017-09-09 14:30 27.378 DallasTemperature-3.7.6.zip  2018-10-11 20:22 14.811 DallasTemperature-3.8.0.7z 2018-03-09 19:40 27.988 DallasTemperature-3.8.0.zip ========= ========= .7z .zip Cumulated size: 1.859.202 2.558.210 percent of the other 73% 138% 
Das mmt: on sollte Multithreading ermöglichen. Oder gibt es eine andere Möglichkeit, 8/4 Kerne zu verwenden? Ovaryraptor vor 6 Jahren 0
Wenn ich die Hilfe richtig lese, -mmt [N]: Anzahl der CPU-Threads einstellen, ist die richtige Verwendung von -mnt8 ähnlich wie bei -mx9 in Ihren Optionen. LotPings vor 6 Jahren 0
Also auf mx9 würde es schon die max-Threads verwenden? Ovaryraptor vor 6 Jahren 0
Nein die Syntax `-mx [N]: Komprimierungsstufe einstellen: -mx1 (am schnellsten) ... -mx9 (ultra)` zeigt, dass `[n]` durch die gewünschte Zahl ersetzt werden muss. Wie die CPU-Threads mit Kernen / Affinität zusammenhängen, ist eine andere Frage. LotPings vor 6 Jahren 0