Eine Serverüberprüfung per Batchdatei erstellen
Hey Leute 
Der Sinn der Datei soll sein, darstellen zu können welche Server Online sind und welche offline.
Also ich stelle mir das so vor das die Batch-Datei IP-Adressen aus einer Text-Datei rauskopiert und diese anpingt.
dann soll die Batch, sofern der ping erlogreich ist in eine neue Textdatei schreiben z.B.: xxx.xxx.xxx.xxx online
wenn dier ping nihc erfolgreich ist soll sie reinschreiben xxx.xxx.xxx.xxx offline
funktioniert das so wie ich mir das vorstelle ?
das heißt das die batch sachen aus einer textdatei rauskopiert und dann eine neue erstellt, wo man dann halt je nachdem online oder offline sieht?
Lg Jan
Der Sinn der Datei soll sein, darstellen zu können welche Server Online sind und welche offline.
Also ich stelle mir das so vor das die Batch-Datei IP-Adressen aus einer Text-Datei rauskopiert und diese anpingt.
dann soll die Batch, sofern der ping erlogreich ist in eine neue Textdatei schreiben z.B.: xxx.xxx.xxx.xxx online
wenn dier ping nihc erfolgreich ist soll sie reinschreiben xxx.xxx.xxx.xxx offline
funktioniert das so wie ich mir das vorstelle ?
das heißt das die batch sachen aus einer textdatei rauskopiert und dann eine neue erstellt, wo man dann halt je nachdem online oder offline sieht?
Lg Jan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 151930
Url: https://administrator.de/forum/eine-serverueberpruefung-per-batchdatei-erstellen-151930.html
Ausgedruckt am: 16.07.2025 um 02:07 Uhr
9 Kommentare
Neuester Kommentar
Hallo ProHoevi!
Schau mal, ob Dir der Beitrag "Daten einer Pingabfrage per Script in eine Logdatei speichern" hilft ...
Grüße
bastla
Schau mal, ob Dir der Beitrag "Daten einer Pingabfrage per Script in eine Logdatei speichern" hilft ...
Grüße
bastla
Hallo Jan,
der folgende Code sollte für Dich eine Lösung sein:
In Zeile 5 und 6 musst Du für Dich passende Dateipfade festlegen. Die Ausgabedatei wird in Zeile 8 gelöscht, eine evtl. auftretende Fehlermeldung, das die Datei nicht existiert, wird durch 2>NUL nicht angezeigt. Die FOR-Schleife in Zeile 10 ließt die Datei mit den IP-Adressen zeilenweise aus und weist jede Adresse der Laufvariablen %%a zu, mit der in Zeile 11 der PING ausgeführt wird. Die Ausgabe von PING wird durch >NUL nicht angezeigt. Wenn der PING erfolgreich war, wird durch && die Meldung "xxx.xxx.xxx.xxx online" in die Ausgabedatei geschrieben, bei Misserfolg durch || die Meldung "xxx.xxx.xxx.xxx offline".
Gruß
Friemler
der folgende Code sollte für Dich eine Lösung sein:
@echo off
setlocal
set "IP_DB=IP_DB.txt"
set "Output=IP_Stat.txt"
del "%Output%" 2>NUL
for /f "usebackq delims=" %%a in ("%IP_DB%") do (
(ping -n 1 %%a > NUL && echo %%a online || echo %%a offline)>>"%Output%"
)
endlocal
In Zeile 5 und 6 musst Du für Dich passende Dateipfade festlegen. Die Ausgabedatei wird in Zeile 8 gelöscht, eine evtl. auftretende Fehlermeldung, das die Datei nicht existiert, wird durch 2>NUL nicht angezeigt. Die FOR-Schleife in Zeile 10 ließt die Datei mit den IP-Adressen zeilenweise aus und weist jede Adresse der Laufvariablen %%a zu, mit der in Zeile 11 der PING ausgeführt wird. Die Ausgabe von PING wird durch >NUL nicht angezeigt. Wenn der PING erfolgreich war, wird durch && die Meldung "xxx.xxx.xxx.xxx online" in die Ausgabedatei geschrieben, bei Misserfolg durch || die Meldung "xxx.xxx.xxx.xxx offline".
Gruß
Friemler
@Friemler
Nur als Anmerkung: Wenn schon eine Errorlevel-Abfrage - und nicht einfach
- würde ich zumindest die "delayedExpansion" einsparen und zB
verwenden ...
Grüße
bastla
Nur als Anmerkung: Wenn schon eine Errorlevel-Abfrage - und nicht einfach
(ping -n 1 %%a > NUL && echo %%a online || echo %%a offline)>>"%Output%"
if errorlevel 1 (
>>"%Output%" echo %%a offline
) else (
>>"%Output%" echo %%a online
)
Grüße
bastla
Poste mal den verwendeten Code und das Ergebnis des manuellen Ping <Server>
Markus