ERRORLEVEL-Parameter von einer Batch in eine andere übergeben, OHNE dass ERRORLEVEL bereits ausgeführt wird
Hallo,
ich will / muss mehrere Dateien von unserem Server auf SD-Karten überspielen und vorher ggf. die SD-Karten löschen, falls noch etwas darauf sein sollte.
Damit das Ganze schneller geht habe ich 4 CardReader zusammengebastelt und über ein Hub an den Rechner angeschlossen. Dazu habe ich mir ein Batch erstellt mit einem Menü, dass abfragt, welche Laufwerke bespielt werden sollen.
Entsprechung den Angaben des Benutzers erstellt die Batch dann eine Art Sammelbatch, welche dann die ebenfalls angelegten Batches für die einzelnen angegebenen Laufwerke startet, ergo 1 Batch startet gleichzeitig 4 Batches, welche dann die Datein vom Server gleichzeitig auf alle SD-Karten kopiert ...
Die 4 erstellten Batches sollen auch eine Fehlerabfrage mittels %ERRORLEVEL% machen und ggf. Bescheid sagen, falls Datein nicht kopiert werden konnten.
Mein Problem:
Wenn ich von der 1. Batch (die, die anderen 4 und die Sammelbatch generiert) ECHO %ERRORLEVEL% >> bla.bat verwende, führt er %ERRORLEVEL% bereits hier aus und gibt in der Regel natürlich den Wert 0 weiter.
In meinen 4 erzeugten Batches habe ich dann also keine IF %ERRORLEVEL%==0 Fehlerabfrage mehr, sonder nur noch IF 0==0, da er den %ERRORLEVEL% ja schon gechecked und das negative Ergebnis ja schon weitergegeben hat.
Auf jeden Fall besten Dank an den, der mir hier weiterhelfen kann!
Mit freundlichem Gruße
Kibatsu
ich will / muss mehrere Dateien von unserem Server auf SD-Karten überspielen und vorher ggf. die SD-Karten löschen, falls noch etwas darauf sein sollte.
Damit das Ganze schneller geht habe ich 4 CardReader zusammengebastelt und über ein Hub an den Rechner angeschlossen. Dazu habe ich mir ein Batch erstellt mit einem Menü, dass abfragt, welche Laufwerke bespielt werden sollen.
Entsprechung den Angaben des Benutzers erstellt die Batch dann eine Art Sammelbatch, welche dann die ebenfalls angelegten Batches für die einzelnen angegebenen Laufwerke startet, ergo 1 Batch startet gleichzeitig 4 Batches, welche dann die Datein vom Server gleichzeitig auf alle SD-Karten kopiert ...
Die 4 erstellten Batches sollen auch eine Fehlerabfrage mittels %ERRORLEVEL% machen und ggf. Bescheid sagen, falls Datein nicht kopiert werden konnten.
Mein Problem:
Wenn ich von der 1. Batch (die, die anderen 4 und die Sammelbatch generiert) ECHO %ERRORLEVEL% >> bla.bat verwende, führt er %ERRORLEVEL% bereits hier aus und gibt in der Regel natürlich den Wert 0 weiter.
In meinen 4 erzeugten Batches habe ich dann also keine IF %ERRORLEVEL%==0 Fehlerabfrage mehr, sonder nur noch IF 0==0, da er den %ERRORLEVEL% ja schon gechecked und das negative Ergebnis ja schon weitergegeben hat.
Auf jeden Fall besten Dank an den, der mir hier weiterhelfen kann!
Mit freundlichem Gruße
Kibatsu
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 62566
Url: https://administrator.de/forum/errorlevel-parameter-von-einer-batch-in-eine-andere-uebergeben-ohne-dass-errorlevel-bereits-ausgefuehrt-wird-62566.html
Ausgedruckt am: 22.04.2025 um 14:04 Uhr
8 Kommentare
Neuester Kommentar
Hallo Kibatsu!

Versuch es mit folgender Zeile:
Mit den ^ maskierst Du die %-Zeichen, dadurch werden sie nicht als "Steuerzeichen" interpretiert.
Grüße
bastla
!!! Jetzt keinen Schreck kriegen ...
Wir sind hier nicht so leicht zu erschrecken ... Versuch es mit folgender Zeile:
ECHO IF ^%ERRORLEVEL^%==0 GOTO NOERROR >> "C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten\Batch\Laufwerk %Choice1%.bat"
Grüße
bastla