Entpacken mit 7-Zip command line funktionert nur einmal
Guten Abend
Ich habe ein Problem mit einer Batchdatei.
Und zwar habe ich zwei mal den fast identischen Ablauf, einzeln funktionieren beide. Wenn sie aber hintereinander bearbeitet werden sollten, dann funktioniert aus irgendeinem Grund nur dasjenige, das als erstes ausgeführt wird. Hier der Code:
Das erste wird korrekt ausgeführt, beim zweiten(Macht auch keinen Unterschied wenn ich erst "2" und dann "1" ausführen lasse) wird "%dtest%" noch erstellt aber wenn 7zip das Archiv entpacken soll, kommt die Meldung "Datei nicht gefunden" und es wird nichts entpackt.
Habe ich irgendetwas übersehen? Warum funktioniert das nicht hintereinander?
Freundliche Grüsse
XXXBold
Ich habe ein Problem mit einer Batchdatei.
Und zwar habe ich zwei mal den fast identischen Ablauf, einzeln funktionieren beide. Wenn sie aber hintereinander bearbeitet werden sollten, dann funktioniert aus irgendeinem Grund nur dasjenige, das als erstes ausgeführt wird. Hier der Code:
REM 1 START
:1
mkdir %dtest%
for /f "delims=" %%i in ('dir /a-d /b "(1)*.*"') do (
C:
cd "%dir7z%"
7z x "%moddir%\%%i" -o"%dtest%"
)
del {{comment_strings:23735588832}}
xcopy "%dtest%\Data" "%skyrimdir%" /s /e /y
rmdir /s /q {{comment_strings:13522725130}}
echo 1 DONE!
REM 1 END
IF %gpause%==true pause
REM 2 START
:2
mkdir %dtest%
for /f "delims=" %%i in ({{comment_strings:23909657314}}) do (
C:
cd "%dir7z%"
7z x {{comment_strings:23882430490}} -o"%dtest%"
)
del "%dtest%\*.txt"
xcopy "%dtest%" "%skyrimdir%" /s /e /y
rmdir /s /q {{comment_strings:11209993009}}
echo 2 DONE!
REM 2 END
Das erste wird korrekt ausgeführt, beim zweiten(Macht auch keinen Unterschied wenn ich erst "2" und dann "1" ausführen lasse) wird "%dtest%" noch erstellt aber wenn 7zip das Archiv entpacken soll, kommt die Meldung "Datei nicht gefunden" und es wird nichts entpackt.
Habe ich irgendetwas übersehen? Warum funktioniert das nicht hintereinander?
Freundliche Grüsse
XXXBold
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 239568
Url: https://administrator.de/forum/entpacken-mit-7-zip-command-line-funktionert-nur-einmal-239568.html
Ausgedruckt am: 03.04.2025 um 22:04 Uhr
4 Kommentare
Neuester Kommentar
Hallo XXXBold!
Das dürfte daran liegen, dass Du mit den Zeilen 5 und 6 (ließen sich übrigens zu
zusammenfassen) das aktuelle Verzeichnis auf "%dir7z%" änderst (und im dadurch im zweiten Teile in diesem Verzeichnis nach den "(2)"-Dateien gesucht wird) - da es dabei anscheinend nur darum geht, die "7z.exe" aufzurufen, sollte eigentlich ein
(und das Weglassen der Zeilen 5 und 6) genügen.
Alternativen: Generell vollständige Pfade verwenden bzw, wenn tatsächlich der Verzeichniswechsel nötig sein sollte, diesen per "
Grüße
bastla
Das dürfte daran liegen, dass Du mit den Zeilen 5 und 6 (ließen sich übrigens zu
cd /d "%dir7z%"
"%dir7z%\7z" "%moddir%\%%i" -o"%dtest%"
Alternativen: Generell vollständige Pfade verwenden bzw, wenn tatsächlich der Verzeichniswechsel nötig sein sollte, diesen per "
pushd
" ausführen und danach mit "popd
" wieder rückgängig machen ...Grüße
bastla
Hallo XXXBold!
- sollte eigentlich heißen:
Du könntest (wenn alle Stricke reißen - aber nur dann
) als Ersatz der Zeilen 5 bis 7 auch
versuchen ...
Grüße
bastla
Ich habe es zuerst wie du gesagt hast mit dem weglassen der 5. und 6. Zeile versucht und danach mit deinem ersten Vorschlag dazu, es kommt beidesmal der Fehler.
Nur die Zeilen 5 und 6 wegzulassen genügt sicher nicht, da dann ja vermutlich die "7z.exe" nicht gefunden wird - daher jedenfalls weglassen + angepasste Zeile 7 verwenden ..."%dir7z%\7z" "%moddir%\%%i" -o"%dtest%"
gibt bei mir: "Error: Incorrect command line" aus
Da ist mir irgendwo das "x" abhanden gekommen "%dir7z%\7z" x "%moddir%\%%i" -o"%dtest%"
Auch wenn ich beim zweiten mal ausführen den Befehl zum verzeichniswechsel weglasse, kommt die Meldung "Datei nicht gefunden".
Da ist es schon zu spät - den Wechsel führst Du ja schon oben (Zeilen 5 und 6) durch.Du könntest (wenn alle Stricke reißen - aber nur dann
pushd "%dir7z%"
7z x "%moddir%\%%i" -o"%dtest%"
popd
Grüße
bastla