Probleme bei der Kombination von Befehlen
Guten Tag Forum,
ich habe ein Problem beim kombinieren mehrerer Befehle in einer Batchdatei, die bei 9 unterschiedlichen eingaben 9 verschiedene Dateien (1.bat, 2.bat, 3.bat usw.) aufrufen soll.
Mein Problem sieht wie folgt aus:
set /P X=Eingabe
if errorlevel 1 goto 1
if errorlevel 2 goto 2
if errorlevel 3 goto 3
if errolevel usw...
:1
call cd /Laufwerk:/Pfad/1.bat
:2
call cd /Laufwerk:/Pfad/2.bat
:3
call cd /Laufwerk:/Pfad/3.bat
:usw...
Sollte ich bei der Suche ein Ergebnis übersehen haben, bitte ich um den Link und um verzeihung.
Mit freundlichen Grüßen
Zottelhias
ich habe ein Problem beim kombinieren mehrerer Befehle in einer Batchdatei, die bei 9 unterschiedlichen eingaben 9 verschiedene Dateien (1.bat, 2.bat, 3.bat usw.) aufrufen soll.
Mein Problem sieht wie folgt aus:
set /P X=Eingabe
if errorlevel 1 goto 1
if errorlevel 2 goto 2
if errorlevel 3 goto 3
if errolevel usw...
:1
call cd /Laufwerk:/Pfad/1.bat
:2
call cd /Laufwerk:/Pfad/2.bat
:3
call cd /Laufwerk:/Pfad/3.bat
:usw...
Sollte ich bei der Suche ein Ergebnis übersehen haben, bitte ich um den Link und um verzeihung.
Mit freundlichen Grüßen
Zottelhias
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 183389
Url: https://administrator.de/contentid/183389
Ausgedruckt am: 25.11.2024 um 20:11 Uhr
8 Kommentare
Neuester Kommentar
Moin zottelhias,
Wenn Du Laufwerk und Pfade wechseln willst, schau Dir die Hilfe zu 'cd', 'pushd' und 'popd' an. Das 'goto :end' verhindert das Abarbeiten aller nachfolgenden Blocks.
Am Ende des Batches noch ein ':end' notieren, in dem Block kannst Du Code notieren, der zum Schluss ausgeführt wird, z.B. eine Meldung, ein cls etc.
Und benutze beim Posten von Quellcode bitte (auch nachträglich) die -Tags.
Freundliche Grüße von der Insel - Mario
Zitat von @Zottelhias:
ich habe ein Problem beim kombinieren mehrerer Befehle in einer Batchdatei, die bei 9 unterschiedlichen eingaben 9 verschiedene
Dateien (1.bat, 2.bat, 3.bat usw.) aufrufen soll.
Mein Problem sieht wie folgt aus:
So sieht es aus - und was tut es (nicht)?ich habe ein Problem beim kombinieren mehrerer Befehle in einer Batchdatei, die bei 9 unterschiedlichen eingaben 9 verschiedene
Dateien (1.bat, 2.bat, 3.bat usw.) aufrufen soll.
Mein Problem sieht wie folgt aus:
set /P X=Eingabe
Das eher so:set /p eingabe=
if errorlevel 1 goto 1
if errorlevel 2 goto 2
if errorlevel 3 goto 3
if errolevel usw...
Errorlevel helfen hier wenig (das wäre i.e. PureDOS und choice.exe), Du musst vergleichen, etwa so:if errorlevel 2 goto 2
if errorlevel 3 goto 3
if errolevel usw...
if [%eingabe%] == [1] goto :1
if [%eingabe%] == [2] goto :2
:1
call cd /Laufwerk:/Pfad/1.bat
OS ist Win? oder DOS - dann u.a. Backslashes, also so:call cd /Laufwerk:/Pfad/1.bat
call "D:\Ordner\Unterordner\1.bat"
goto :end
Am Ende des Batches noch ein ':end' notieren, in dem Block kannst Du Code notieren, der zum Schluss ausgeführt wird, z.B. eine Meldung, ein cls etc.
Und benutze beim Posten von Quellcode bitte (auch nachträglich) die -Tags.
Freundliche Grüße von der Insel - Mario
Hallo Zottelhias!
Ich weiß ja nicht, woher Du die unterscheidlichen Errorlevel erhalten willst - aber wenn Du das tatsächlich mit "
Da die Eingabe ja aber anscheinend in der Variablen %X% landen soll, wäre eher
sinnvoll ...
Ach ja - soferne die einzelnen Batches im selben Ordner liegen sollten, würde sich natürlich auch einfach
oder - wenn's wirklich ein "
anbieten.
Grüße
bastla
P.S.: Code- lässt sich auch im Nachhinein noch hinzufügen ...
Ich weiß ja nicht, woher Du die unterscheidlichen Errorlevel erhalten willst - aber wenn Du das tatsächlich mit "
if errorlevel
"-Abfragen lösen willst, dann aber in absteigender Reihenfolge (da eine solche Abfrage immer auf >= Errorlevel prüft) ...Da die Eingabe ja aber anscheinend in der Variablen %X% landen soll, wäre eher
if "%X%"=="1" goto :1
if "%X%"=="2" goto :2
...
Ach ja - soferne die einzelnen Batches im selben Ordner liegen sollten, würde sich natürlich auch einfach
if exist "D:\Pfad\%X%.bat" call "D:\Pfad\%X%.bat"
cd
" auch noch sein soll -if exist "D:\Pfad\%X%.bat" (cd /d "D:\Pfad" & call %X%.bat)
Grüße
bastla
P.S.: Code- lässt sich auch im Nachhinein noch hinzufügen ...
Moin moin
Ich frage mich gerade, ob so überhaupt zu den Marken gesprungen werden kann !?
Steht wirklich die abgefragte Eingabe in der Variable
Kann es gerade nicht selber teste aber es dennoch einwerfen ...aber wir sind hier ja beim Jauch ;)
Hast du den Inhalt von %errorlevel% überprüft !?
~Arano
Ich frage mich gerade, ob so überhaupt zu den Marken gesprungen werden kann !?
Steht wirklich die abgefragte Eingabe in der Variable
%errorlevel%
?Kann es gerade nicht selber teste aber es dennoch einwerfen ...aber wir sind hier ja beim Jauch ;)
Hast du den Inhalt von %errorlevel% überprüft !?
~Arano