saschab

Per Batch ping prüfen

Hallo zusammen,

ich habe mich bereits durch einige Beiträge zum Thema: Ping per Batch überprüfen gewühlt, doch nichts will funktionieren.

Zu meinem Vorhaben:

Ich möchte eine Batchdatei haben, die bei meinem Laptop beim runterfahren aktiv wird. Es soll geprüft werden ob mein HomeServer erreichbar ist, wenn ja sollten einige Daten per Robocopy gesynct werden, wenn nicht soll die Batch einfach geschlossen werden.
Ob der HomeServer verfügbar ist wollte ich über den Ping-Befehl testen. Die Unterscheidung mit dem Errorlevel habe ich schon verworfen, da meine ping.exe auch bei Zielnetz nicht erreichbar ein Errorlevel 0 zurückgibt.

ping -n 1 -w 5 192.168.178.2 | find /i "Antwort" && goto :sync || goto :end  


:sync
robocopy C:\... \\192.168.178.2\... /MIR
goto :end

Wenn die Adresse erreichbar ist springt er brav zum Backup. Wenn ich nun aber gerade woanders in einem anderen IP-Bereich bin, liefert mit der Ping Befehl: Zielnetz nicht erreichbar zurück. Danach wird trotzdem das Backup gestartet.

Habt ihr eine Idee wie ich es anders lösen kann, oder warum er dennoch zum Backup springt??

Viele Grüße

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

Content-ID: 124287

Url: https://administrator.de/forum/per-batch-ping-pruefen-124287.html

Ausgedruckt am: 07.07.2025 um 14:07 Uhr

pieh-ejdsch
pieh-ejdsch 05.09.2009 um 22:38:03 Uhr
Hi SaschaB,

mit && wird der Nachfolgende Befehl NUR ausgefüht wenn der Vorherhige Erfolreich war

ping -n 1 -w 5 192.168.178.2&& robocopy C:\... \\192.168.178.2\... /MIR

Gruß Phil
SaschaB
SaschaB 05.09.2009 um 22:45:32 Uhr
Hi Phil,

danke für die schnelle Antwort!

Habe das gerade mal getestet, egal ob der Ping funktioniert, doer ob Zielnetz nicht erreichbar als Antwort kommt, er spingt trotzdem auf das Backup wenn ich die Befehle mit && verbinde.

Viele Grüße

Sascha
Biber
Biber 05.09.2009 um 23:02:59 Uhr
Moin SaschaB,

Mach aus der ersten Zeile Deines Schnipsels zwei:
Jetzt:
Neu:
ping -n 1 -w 5 192.168.178.2 | find /i "Antwort" && goto :sync
goto :end

Denn nach (bzw hinter) dem "goto" - Befehl ist keine sinnvolle Auswertung des Errorlevels möglich.

Grüße
Biber