saschab
Goto Top

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

Content-ID: 124287

Url: https://administrator.de/contentid/124287

Ausgedruckt am: 25.11.2024 um 16:11 Uhr

pieh-ejdsch
pieh-ejdsch 05.09.2009 um 22:38:03 Uhr
Goto Top
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
Goto Top
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
Goto Top
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
pieh-ejdsch
pieh-ejdsch 05.09.2009 um 23:10:08 Uhr
Goto Top
Hi Sascha,

vllt so besser:

for /f "tokens=1,10" %%i in ('ping -n 1 -w 5 192.168.178.2') do if "%%i" == "Pakete:" if "%%j" == "0" robocopy C:\... \\192.168.178.2\... /MIR  

Gruß Phil
SaschaB
SaschaB 05.09.2009 um 23:19:22 Uhr
Goto Top
Hey,

habe beide Methoden mal ausprobiert, leider springt er mir immernoch ins Backup, obwohl er von diesem Netz hier die 178.2. nicht erreichen kann!

Viele Grüße

Sascha
pieh-ejdsch
pieh-ejdsch 05.09.2009 um 23:20:52 Uhr
Goto Top
Hi,

Hallo Biber Hab grad mitbekommen bei eingabe einer IP wird der Ping Trotzdem versucht durchzuführen
der Ping wird nur bei webadressen den richtigen Error liefern

Thats Windows

Habs oben nochmal verändert Prüf es mal jetzt.

Gruß Phil
SaschaB
SaschaB 05.09.2009 um 23:33:32 Uhr
Goto Top
Puh jetzt wird es aber unübersichtlich^^

Habe es gerade nochmal versucht:

Jetzt führrt er jeweils 5 Schritte aus:

als erstes kommt der Befehl so wie du ihn mir oben gepostet hast.
Danach ip "Ping" .....
if "Antwort" .....
If "Ping-Statistik"....
if "Pakete"....

Und danach geht er trotzdem zu robocopy über face-sad
pieh-ejdsch
pieh-ejdsch 05.09.2009 um 23:46:16 Uhr
Goto Top
ist ja komisch

gib das mal in Deine Kommandozeile
Das Antwortet nur wenn der Host erreichbar ist.
for /f "tokens=1,10" %i in ('ping -n 1 -w 5 192.168.178.2') do @if "%i" == "Pakete:" if "%j" == "0" echo Habe Verbindung

wenn das Dingens tut wie es soll dann nimm
for /f "tokens=1,10" %%i in ('ping -n 1 -w 5 192.168.178.2') do if "%%i" == "Pakete:" if "%%j" == "0" robocopy C:\... \\192.168.178.2\... /MIR  
SaschaB
SaschaB 05.09.2009 um 23:50:00 Uhr
Goto Top
Jap es erscheint: Habe Verbindung Es ist zum verzweifeln!

Kurz zu der Umgebung: Momentan verbunden per Wlan mit 192.168.2.1 als Standardgateway. Das 178er Netz habe ich zuhause.
Der Ping einzeln liefert mir wie gesagt: Zielnetz nicht erreichbar (war zu erwarten^^)
pieh-ejdsch
pieh-ejdsch 06.09.2009 um 00:07:10 Uhr
Goto Top
vllt kannst Du das über einen FreigabeOrdner lösen...

if exist \\192.168.178.2\FreigabeOrdner. echo Bin Drin

Gruß Phil
SaschaB
SaschaB 06.09.2009 um 00:11:13 Uhr
Goto Top
Das ist eine gute Idee! Das werde ich dann morgen mal testen wenn ich wieder zuhause bin und das ganze mit Kontakt zum Server durchspielen kann

Viele Grüße

Sascha
pieh-ejdsch
pieh-ejdsch 06.09.2009 um 11:06:28 Uhr
Goto Top
Hi Sascha,

hier aus Microsoft technet:
Die Antwort "Zielnetz nicht erreichbar" bedeutet, dass keine Route zum Ziel vorhanden war. Sie müssen die Routingtabelle des in der Meldung "Zielnetz nicht erreichbar" in der Adresse "Antwort von" angegebenen Routers prüfen. Weitere Informationen zur Routingtabelle finden Sie unter Grundlegendes zu IP-Routingtabellen.

Gruß Phil
60730
60730 06.09.2009 um 14:34:56 Uhr
Goto Top
Zitat von @pieh-ejdsch:
Sie müssen die Routingtabelle
des in der Meldung "Zielnetz nicht erreichbar" in der
Adresse "Antwort von" angegebenen Routers prüfen.

...und deshalb wird "eigentlich" in allen Threads, die sich mit Batch & Ping befassen nach "TTL" gesucht - das dann auch noc h OS Sprachübergreifend funktioniert.

Gruß
81825
81825 06.09.2009 um 14:47:29 Uhr
Goto Top
Hat eigentlich schon mal jemand überprüft, ob
robocopy C:\... \\192.168.178.2\... /MIR
natürlich mit korrekter IP überhaupt funktioniert, oder ob da nicht vielleicht eine völlig andere Fehlermeldung zu Tage tritt? face-big-smile
SaschaB
SaschaB 06.09.2009 um 15:54:27 Uhr
Goto Top
Zitat von @81825:
Hat eigentlich schon mal jemand überprüft, ob
> robocopy C:\... \\192.168.178.2\... /MIR
> 
natürlich mit korrekter IP überhaupt funktioniert, oder ob
da nicht vielleicht eine völlig andere Fehlermeldung zu Tage
tritt? face-big-smile

Joar das gibt natürlich eine andere Fehlermeldung, aber mit meinen Pfaden drin passt es dann dementsprechend^^


Ich habe gerade einen andere Idee:

Im Prinzip könnte ich das Ganze ja als Logoff Skript bei meinem Windows Server 2008 ablaufen lassen, diese Skript wird ja dann nur ausgeführt wenn dieser beim Abmelden verfügbar ist oder?

Ich wühle mich gerade durch die Gruppenrichtlinien, konnte das ganze aber bisher noch nicht finden, alle im Netz verfügbaren Pfade finde ich unter Win2008 nicht...

Viele Grüße

Sascha
81825
81825 06.09.2009 um 16:19:30 Uhr
Goto Top
Zitat von @SaschaB:
> Joar das gibt natürlich eine andere Fehlermeldung, aber mit meinen Pfaden drin passt es dann dementsprechend^^

Unter Windows XP garantiert nicht. Aber da ja mal wieder keine OS-Angabe erfolgt war, wie üblich, könnte es natürlich sein, dass es irgendwo läuft.
SaschaB
SaschaB 06.09.2009 um 16:21:22 Uhr
Goto Top
Unter WIn7 läuft das Ganze, mit Anführungszeichen läuft es hier nicht.

Sorry das BS hatte ich vergessen anzugeben!
Mehr von SaschaBSaschaBOutlook findet IMAP Server nicht mehrSaschaB - 9 KommentareSaschaBOffline AufgabenverwaltungSaschaB - 2 KommentareSaschaBBeschädigtes Acronis Backup wiederbeleben möglich?SaschaB - 1 KommentarSaschaBOutlook 2010 zeigt Mailbody nicht an!SaschaB - 8 Kommentare
Heiß diskutiert
superfun2k24Sophos SFOS 20 DNAT funktioniert nichtsuperfun2k24 - 26 KommentareLangaberWindows Server Sicherung Restore - MöglichkeitenLangaber - 21 KommentaremaisenkaiserSwitch ohne STP ins Netzwerkmaisenkaiser - 20 Kommentareprplemk2Testumgebung bauen (Grundlegend)prplemk2 - 19 KommentareBlitterWindows 10 u. 11 und 802.1x Netzwerk PortsecurityBlitter - 15 KommentareTJ.Hooker74Dom.Admin-Passwort ändern - Auswirkungen auf EX, HCW, AADCTJ.Hooker74 - 15 KommentaremaxMicrosoft plant für 2025 mehrere Preiserhöhungenmax - 14 KommentareleberkaeseFB7590 ISDN Fax-Funktionleberkaese - 13 KommentareUnluckyProccess1999Creo 4.0 Lizenz Server (LMTOOLS)UnluckyProccess1999 - 13 KommentareEnrixkHilfe bei Netzwerkinfrastruktur für AbschlussprojektEnrixk - 12 KommentareDaniSIP Zugangsdaten von Vodafone erhaltenDani - 12 KommentareSarekHLLegaler Einsatz vom M365 Family in Business-UmgebungSarekHL - 11 Kommentare