Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Per Batch ping prüfen

Frage Entwicklung Batch & Shell

Mitglied: SaschaB

SaschaB (Level 1) - Jetzt verbinden

05.09.2009, aktualisiert 22:34 Uhr, 9699 Aufrufe, 17 Kommentare

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.

01.
ping -n 1 -w 5 192.168.178.2 | find /i "Antwort" && goto :sync || goto :end 
02.
 
03.
 
04.
:sync 
05.
robocopy C:\... \\192.168.178.2\... /MIR 
06.
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
Mitglied: pieh-ejdsch
05.09.2009 um 22:38 Uhr
Hi SaschaB,

mit || wird der Nachfolgende Befehl NUR ausgeführt wenn der voherige nicht erfolgreich war.
mit && wird der Nachfolgende Befehl NUR ausgefüht wenn der Vorherhige Erfolreich war

01.
ping -n 1 -w 5 192.168.178.2&& robocopy C:\... \\192.168.178.2\... /MIR
Gruß Phil
Bitte warten ..
Mitglied: SaschaB
05.09.2009 um 22:45 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
Bitte warten ..
Mitglied: Biber
05.09.2009 um 23:02 Uhr
Moin SaschaB,

Mach aus der ersten Zeile Deines Schnipsels zwei:
Jetzt:
ping -n 1 -w 5 192.168.178.2 | find /i "Antwort" && goto :sync || goto :end
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
Bitte warten ..
Mitglied: pieh-ejdsch
05.09.2009 um 23:10 Uhr
Hi Sascha,

vllt so besser:

01.
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
Bitte warten ..
Mitglied: SaschaB
05.09.2009 um 23:19 Uhr
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
Bitte warten ..
Mitglied: pieh-ejdsch
05.09.2009 um 23:20 Uhr
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
Bitte warten ..
Mitglied: SaschaB
05.09.2009 um 23:33 Uhr
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
Bitte warten ..
Mitglied: pieh-ejdsch
05.09.2009 um 23:46 Uhr
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
01.
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
Bitte warten ..
Mitglied: SaschaB
05.09.2009 um 23:50 Uhr
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^^)
Bitte warten ..
Mitglied: pieh-ejdsch
06.09.2009 um 00:07 Uhr
vllt kannst Du das über einen FreigabeOrdner lösen...

if exist \\192.168.178.2\FreigabeOrdner. echo Bin Drin

Gruß Phil
Bitte warten ..
Mitglied: SaschaB
06.09.2009 um 00:11 Uhr
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
Bitte warten ..
Mitglied: pieh-ejdsch
06.09.2009 um 11:06 Uhr
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
Bitte warten ..
Mitglied: 60730
06.09.2009 um 14:34 Uhr
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ß
Bitte warten ..
Mitglied: 81825
06.09.2009 um 14:47 Uhr
Hat eigentlich schon mal jemand überprüft, ob
01.
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?
Bitte warten ..
Mitglied: SaschaB
06.09.2009 um 15:54 Uhr
Zitat von 81825:
Hat eigentlich schon mal jemand überprüft, ob
01.
> robocopy C:\... \\192.168.178.2\... /MIR 
02.
> 
natürlich mit korrekter IP überhaupt funktioniert, oder ob
da nicht vielleicht eine völlig andere Fehlermeldung zu Tage
tritt?

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
Bitte warten ..
Mitglied: 81825
06.09.2009 um 16:19 Uhr
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.
Bitte warten ..
Mitglied: SaschaB
06.09.2009 um 16:21 Uhr
Unter WIn7 läuft das Ganze, mit Anführungszeichen läuft es hier nicht.

Sorry das BS hatte ich vergessen anzugeben!
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...