zerobit
15.07.2009, 20:45
hallo, ich mal wieder :P
Von der Idee getrieben, dass eine externe Config-Datei einfacher & übersichtlicher zu bearbeiten ist als alles in eine Batch-Datei zu speichern, habe ich diverse Variabeln ausgelagert.
Doch scheine ich grade an eine Grenze zu stoßen...,
denn wenn ich Platzhalter wie %1 und %var% mit auslagere,
dann werden sie nicht umgewandelt ausgefüht so das nichts geht.
Hier erstmal die Code-Schnipsel um die es geht:
CmdCBS(2).cmd (Auszug)
:Extr
set PACKPH=D:\Programme\System\Packer
cd /d "%~dp1"
SET xErrLvl=1
CALL :xExtr "%~1" %~x1
if %xErrLvl%==0 GOTO :%xJmpPnt%
:UNKW
echo.*******************
echo.Datei ist unbekannt
echo.breche ab...
echo.*******************
echo.
pause
GOTO :END
:xExtr
for /F "tokens=1* delims==" %%a in ('findstr /b "%~2" "CmdCBS.cfg"') do %%b
SET xErrLvl=0
IF NOT EXIST "%ExtrDir%" goto :END
GOTO :eof
CmdCBS.cfg (Auszug)
.rar=%PACKPH%\WinRAR\WIN\WinRAR.exe x -kb -y "%~1" "%ExtrDir%\"
.ace=%PACKPH%\WinRAR\WIN\WinRAR.exe x -kb -y "%~1" "%ExtrDir%\"
.zip=%PACKPH%\7-Zip\9.04b\x64\7z.exe x -o"%ExtrDir%\" "%~1"
.cab=%PACKPH%\7-Zip\9.04b\x64\7z.exe x -o"%ExtrDir%\" "%~1"
.7z=%PACKPH%\7-Zip\9.04b\x64\7z.exe x -o"%ExtrDir%\" "%~1"
.gz=%PACKPH%\7-Zip\9.04b\x64\7z.exe x -o"%ExtrDir%\" "%~1"
.bz=%PACKPH%\7-Zip\9.04b\x64\7z.exe x -o"%ExtrDir%\" "%~1"
.tar=%PACKPH%\7-Zip\9.04b\x64\7z.exe x -o"%ExtrDir%\" "%~1"
.arj=%PACKPH%\7-Zip\9.04b\x64\7z.exe x -o"%ExtrDir%\" "%~1"
.dmg=%PACKPH%\7-Zip\9.04b\x64\7z.exe x -o"%ExtrDir%\" "%~1"
.lzh=%PACKPH%\7-Zip\9.04b\x64\7z.exe x -o"%ExtrDir%\" "%~1"
.lza=%PACKPH%\7-Zip\9.04b\x64\7z.exe x -o"%ExtrDir%\" "%~1"
.uha=%PACKPH%\UHArc\UHARC\0.6b\UHARC.EXE x -t"%ExtrDir%" "%~1"
CMD-Ausgabe:
D:\>for /F "tokens=1* delims==" %a in ('findstr /b ".7z" "CmdCBS.cfg"') do set xExtrRun=%b
D:\>%PACKPH%\7-Zip\9.04b\x64\7z.exe x -o"%ExtrDir%\" "%~1"
Die Datei "%PACKPH%\7-Zip\9.04b\x64\7z.exe" kann nicht gefunden werden.
***************************
Archiv wurde nicht entpackt
breche ab...
***************************
Drücken Sie eine beliebige Taste . . .
Von der Idee getrieben, dass eine externe Config-Datei einfacher & übersichtlicher zu bearbeiten ist als alles in eine Batch-Datei zu speichern, habe ich diverse Variabeln ausgelagert.
Doch scheine ich grade an eine Grenze zu stoßen...,
denn wenn ich Platzhalter wie %1 und %var% mit auslagere,
dann werden sie nicht umgewandelt ausgefüht so das nichts geht.
Hier erstmal die Code-Schnipsel um die es geht:
CmdCBS(2).cmd (Auszug)
:Extr
set PACKPH=D:\Programme\System\Packer
cd /d "%~dp1"
SET xErrLvl=1
CALL :xExtr "%~1" %~x1
if %xErrLvl%==0 GOTO :%xJmpPnt%
:UNKW
echo.*******************
echo.Datei ist unbekannt
echo.breche ab...
echo.*******************
echo.
pause
GOTO :END
:xExtr
for /F "tokens=1* delims==" %%a in ('findstr /b "%~2" "CmdCBS.cfg"') do %%b
SET xErrLvl=0
IF NOT EXIST "%ExtrDir%" goto :END
GOTO :eof
CmdCBS.cfg (Auszug)
.rar=%PACKPH%\WinRAR\WIN\WinRAR.exe x -kb -y "%~1" "%ExtrDir%\"
.ace=%PACKPH%\WinRAR\WIN\WinRAR.exe x -kb -y "%~1" "%ExtrDir%\"
.zip=%PACKPH%\7-Zip\9.04b\x64\7z.exe x -o"%ExtrDir%\" "%~1"
.cab=%PACKPH%\7-Zip\9.04b\x64\7z.exe x -o"%ExtrDir%\" "%~1"
.7z=%PACKPH%\7-Zip\9.04b\x64\7z.exe x -o"%ExtrDir%\" "%~1"
.gz=%PACKPH%\7-Zip\9.04b\x64\7z.exe x -o"%ExtrDir%\" "%~1"
.bz=%PACKPH%\7-Zip\9.04b\x64\7z.exe x -o"%ExtrDir%\" "%~1"
.tar=%PACKPH%\7-Zip\9.04b\x64\7z.exe x -o"%ExtrDir%\" "%~1"
.arj=%PACKPH%\7-Zip\9.04b\x64\7z.exe x -o"%ExtrDir%\" "%~1"
.dmg=%PACKPH%\7-Zip\9.04b\x64\7z.exe x -o"%ExtrDir%\" "%~1"
.lzh=%PACKPH%\7-Zip\9.04b\x64\7z.exe x -o"%ExtrDir%\" "%~1"
.lza=%PACKPH%\7-Zip\9.04b\x64\7z.exe x -o"%ExtrDir%\" "%~1"
.uha=%PACKPH%\UHArc\UHARC\0.6b\UHARC.EXE x -t"%ExtrDir%" "%~1"
CMD-Ausgabe:
D:\>for /F "tokens=1* delims==" %a in ('findstr /b ".7z" "CmdCBS.cfg"') do set xExtrRun=%b
D:\>%PACKPH%\7-Zip\9.04b\x64\7z.exe x -o"%ExtrDir%\" "%~1"
Die Datei "%PACKPH%\7-Zip\9.04b\x64\7z.exe" kann nicht gefunden werden.
***************************
Archiv wurde nicht entpackt
breche ab...
***************************
Drücken Sie eine beliebige Taste . . .