wm-is06

FOR Schleife - endet

es sollen aber weitere Befehle ausgeführt werden

Hallo zusammen;
ich hab folgendes Problem bei einem Batchjob:
in einer Schleife werden IP Adressen ausgelesen und nacheinander gepingt um zu überprüfen ob der PC on- oder offline ist. Ist einer der PC's offline so wird dessen IP in ein seperates textfile gespeichert.
Meine Idee ist, dass nachdem alle Hosts durchlaufen sind, nachfolgend eine zweite Schleife startet, die die "nicht erreichbaren" Hosts (--> sep. Textfile) solange pingt, bis sie wieder online sind (mit entsprechender Protokollierung, damit ich später feststellen kann, wielange dieser Host offline war).
Im Prinzip funkt. alles wunderbar bis plötzlich (hab keine Ahnung was ich "verbrochen" habe) der Batchjob nach der ersten Schleife endet und die nachfolgenden Befehle ignoriert...

Ich habe wirklich viel gegoogelt - doch leider bin ich nicht fündig geworden.

Besten dank für die Hilfe!


Die Schleife selber sieht so aus:
setlocal EnableDelayedExpansion
for /F "tokens=1,2" %%i in (targets.txt) do (   
ping /n 1 /w 150 %%i >/nul
if !errorlevel! EQU 0 (
echo %%i	%%j		ONLINE		%date% um %time%>>%output%
		) 

if !errorlevel! NEQ 0 (
echo %%i	%%j		OFFLINE		%date% um %time%	XXX>>%output%
echo %%i  >> %target2%
)
)
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 63595

Url: https://administrator.de/forum/for-schleife-endet-63595.html

Ausgedruckt am: 27.04.2025 um 22:04 Uhr

50496
50496 11.07.2007 um 17:25:53 Uhr
Goto Top
Warum so umständlich?

if errorlevel 1 (echo ..... usw. offline) else (echo ... usw. online)

Wenn du mehrzeilig schreiben willst, lies dir in der Windows-Hilfe den Kommentar bei if zur else-Anweisung durch.

Nachtrag:
Den Aufruf nach for packst du in eine Subroutine:

for /F "tokens=1,2" %%i in (targets.txt) do call :irgendwas
goto :eof

:irgendwas
if errorlevel 1 usw.
wm-is06
wm-is06 11.07.2007 um 17:30:54 Uhr
Goto Top
Danke für die Antwort;
Mag sein, daß das nicht der allerbeste Stil ist und kompliziert aussieht - aber ich denke, dass das nicht das Problem an der Sache ist.
Ich versteh nicht, warum der ganze Job endet, wenn die Schleife fertig ist... keine nachfolgenden Befehle werden ausgeführt....
50496
50496 11.07.2007 um 17:47:43 Uhr
Goto Top
Lies meinen Nachtrag, ich war noch beim Edit.
wm-is06
wm-is06 11.07.2007 um 17:53:31 Uhr
Goto Top
das Problem hat sich erledigt, als ich den Rechner neu gestartet hab...

Beste Grüße
Wolfgang