bufferm44

Batch wird schnell hintereinander 2x ausgeführt, Fehler beim Schreiben in Datei...

Hallo!

Bei mir kommt es manchmal vor dass eine Batchdatei (aufgerufen von einem Programm das der Batch Parameter übergibt) mehrere male schnell hintereinander ausgefürt wird.

Während der erste Durchlauf noch damit beschäftigt ist, in die datei a.txt reinzuschreiben, versucht es der zweite Durchlauf ebenfalls und scheitert (da die datei a.txt noch gerade aus dem ersten Durchgang beschrieben wird).

Wie kann ich soeinen Fehler abfangen (und die entsprechende Befehlsfolge in der Batch noac mal ausführen - so oft bis es geklappt hat.)?

Also z.B.

:schreiben
echo %1 >> a.txt
(((Wenn nicht erfolgreich))) GOTO :schreiben


Vielen Dank!

Tobias
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 57364

Url: https://administrator.de/forum/batch-wird-schnell-hintereinander-2x-ausgefuehrt-fehler-beim-schreiben-in-datei-57364.html

Ausgedruckt am: 26.07.2025 um 13:07 Uhr

bastla
bastla 23.04.2007 um 15:54:40 Uhr
Hallo bufferm44!

Grundsätzlich lässt sich der Errorlevel abfragen oder die Kurzfassung
:schreiben
echo %1 >> a.txt || goto :schreiben
verwenden.

Grüße
bastla
bufferm44
bufferm44 23.04.2007 um 16:28:55 Uhr
Hallo bufferm44!

Grundsätzlich lässt sich der
Errorlevel abfragen oder die Kurzfassung
:schreiben
> echo %1 >> a.txt || goto :schreiben
> 
verwenden.

Grüße
bastla

Hm aber anststt des "||" muss doch eine Abfrage ob denn hier gerade wirklich ein Fehler passiert ist hin oder?
Biber
Biber 23.04.2007 um 16:49:09 Uhr
Hm aber anststt des "||" muss doch eine Abfrage ob denn hier gerade wirklich ein Fehler passiert ist hin oder?

Nein.
Das "||" nach einer Anweisung ist gleichwertig mit der Abfrage "IF Errorlevel 1 ...." in einer neuen Zeile.

Gruss
Biber
bufferm44
bufferm44 23.04.2007 um 18:21:35 Uhr
Ok, danke ich werds testen face-smile

Und um die 30 Zeichen voll zu kriegen schreibe ich noch diesen Satz...