Ich habe versucht, ein einfaches Programm zu schreiben. Es sollte .pak-Dateien finden (in diesem Fall zip, aber mit geänderter Spannung), entpacken und mit arc komprimieren.Batch - Schleife vermisst Befehle nach wenigen Durchgängen
@echo off
for /r %%i in (*.pak) do ren %%~i %%~ni.arc
for /r %%i in (*.arc) do (
mkdir %%~ni
cd %%~ni
..\arc.exe x -o+ "%%~i" //extract archive at current location//
del "%%~i"
..\arc.exe a -m9 -r "%%~i" *.* //pack files and folders in current folder and create
archive at specific location//
cd..
RD /s /q %%~ni
)
pause
Arc Befehl funktioniert, ich bin mir sicher. Bis wenige Pässe später funktioniert alles perfekt. Es scheint, dass es auf einmal aufgehört hat, den cd .. -Befehl zu machen, weil es anfängt, einen Ordner zu erstellen, dann einen Ordner innerhalb und dann wieder und wieder.
Standorte von Dateien:
... \ arc.exe
... \ program.bat
... \ file1.pak
... \ folder1 \ file2.pak
.. folder2. \ \ file3.pak
etc für Pack
ich habe auch versucht
@echo off
setlocal enableextensions enabledelayedexpansion
for /r %%i in (*.pak) do ren %%~i %%~ni.arc
for /r %%i in (*.arc) do (
mkdir %%~ni
cd %%~ni
..\arc.exe x -o+ "%%~i"
del "%%~i"
..\arc.exe a -m9 -r "%%~i" *.*
cd..
RD /s /q %%~ni
)
pause
das gleiche Ergebnis
etwas zu tun noch etwas komplex mit DOS Batch-Dateien ist ein Schmerz. Können Sie zu PowerShell wechseln? Wenn dem so ist, schlage ich vor, das zu prüfen. –
Nein, weil ich ein "inverses" Programm machen möchte, das von jedem benutzt werden kann, ohne zusätzliche Dinge zu installieren. – user1331954
Gibt es Unterordner? –