Echo Ausgabe bei unzulässiger Netzwerkadresse
Hallöchen
Ich habe in meinem Batch einen befehl eingebaut welcher auf die Registry mehrer PC's zugreift und etwas ausließt.
Das Script funktioniert auch einwandfrei! Nun gehts nurnoch um das Design der Echo ausgaben.
Undzwar: Wenn der Computer der ausgelesen werden soll Offline ist, kommt folgende Nachricht Automatisch: "FEHLER: Die Netzwerkadresse ist unzulässig!"
Wenn der Computer Online ist, wird nichts angezeigt und er macht seine For schleife bis zum ende fertig.
Jetzt meine Frage: Kann ich diese Fehlermeldung 'abfangen' und durch eine Individuelle Meldung ersetzen? wie z.B: "Der Computer %%a ist Offline!"
(%%a ist in dem falle der Pc Name der vorher schon als Variable existiert)
Ich habe es mit if ERRORLEVEL schon versucht, jedoch ist das Level immer 0. Egal ob der Pc online oder offline ist. Somit kein nutzen in dem falle :/
Danke und liebe grüße.
Ich habe in meinem Batch einen befehl eingebaut welcher auf die Registry mehrer PC's zugreift und etwas ausließt.
Das Script funktioniert auch einwandfrei! Nun gehts nurnoch um das Design der Echo ausgaben.
Undzwar: Wenn der Computer der ausgelesen werden soll Offline ist, kommt folgende Nachricht Automatisch: "FEHLER: Die Netzwerkadresse ist unzulässig!"
Wenn der Computer Online ist, wird nichts angezeigt und er macht seine For schleife bis zum ende fertig.
Jetzt meine Frage: Kann ich diese Fehlermeldung 'abfangen' und durch eine Individuelle Meldung ersetzen? wie z.B: "Der Computer %%a ist Offline!"
(%%a ist in dem falle der Pc Name der vorher schon als Variable existiert)
Ich habe es mit if ERRORLEVEL schon versucht, jedoch ist das Level immer 0. Egal ob der Pc online oder offline ist. Somit kein nutzen in dem falle :/
Danke und liebe grüße.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 253243
Url: https://administrator.de/contentid/253243
Ausgedruckt am: 14.11.2024 um 23:11 Uhr
4 Kommentare
Neuester Kommentar
Moin,
Du könntest den Online-Zustand des Zieles vorher mit ping überprüfen. Etwa wie hier bescrhieben.
lg,
Slainte
Du könntest den Online-Zustand des Zieles vorher mit ping überprüfen. Etwa wie hier bescrhieben.
lg,
Slainte
Hallo
da sich der Befehl ja anscheinend in einer FOR Schleife befindet führt ein Abfragen von %errorlevel% immer zum gleicher Wert, da die Auflösunf der Variablen nicht innerhalb des Verarbeitungsblocks stattfindet, sondern erst danach.
Du kannst entweder
1. enabledelayedexpansion verwenden
oder
2. Die IP erst mit ping abprüfen und dann darauf mit einem && reagieren statt mit %errorlevel% (z.B. ping 1.2.3.4 >NUL 2>NUL && echo da
oder
3. Du machst einen call auf eine Sprungmarke, übergibst dort dann die IP adresse und kansnt dort dann ohne die Beschränkungen leben.
Gruß
da sich der Befehl ja anscheinend in einer FOR Schleife befindet führt ein Abfragen von %errorlevel% immer zum gleicher Wert, da die Auflösunf der Variablen nicht innerhalb des Verarbeitungsblocks stattfindet, sondern erst danach.
Du kannst entweder
1. enabledelayedexpansion verwenden
oder
2. Die IP erst mit ping abprüfen und dann darauf mit einem && reagieren statt mit %errorlevel% (z.B. ping 1.2.3.4 >NUL 2>NUL && echo da
oder
3. Du machst einen call auf eine Sprungmarke, übergibst dort dann die IP adresse und kansnt dort dann ohne die Beschränkungen leben.
for %%a .... do call:verarb %%a
...
goto:eof
:verarb
set IP=%%a
...
goto:eof
...
goto:eof
:verarb
set IP=%%a
...
goto:eof
Gruß