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
GELÖST

Ping errorlevel auswerten bzw. header verwerten

Frage Entwicklung Batch & Shell

Mitglied: davidl

davidl (Level 1) - Jetzt verbinden

16.06.2010 um 10:46 Uhr, 22126 Aufrufe, 5 Kommentare

Hallo,

ich will einen ping auswerten, hab auch schon einige Beiträge darüber gefunden, aber nicht genau das, was ich will.

Wenn man pingt

ping www.microsoft.de

bekommt man die IP-Adresse, eine Zeitüberschreitungsmeldung (weil Microsoft ja nicht antwortet) und den Errorlevel 1 zurück.


Wenn man jetzt

ping www.qrdgsagasgdsagas.de

bekommt man wieder den Errorlevel 1 zurück, nur mit der Meldung:

Ping-Anforderung konnte Host "www.qrdgsagasgdsagas.de" nicht finden. Überprüfen Sie den Namen, und versuchen Sie es erneut.


Die beide Fälle will ich in einem Batch unterscheiden. die Unterscheidung des Errorlevel klappt eh, aber die feine Unterscheidung danach nicht.
In der Wiki steht eine Liste, nur weiß ich nicht, wie ich diese Werte in einem Batch überprüfen kann.
http://en.wikipedia.org/wiki/Internet_Control_Message_Protocol

Ich will also unterscheiden können, ob eine Zeitüberschreitung ist ober ob der Host gar nicht gefunden wird.

Hoffe ich habe mich verständlich ausgedrückt.

Lg David
Mitglied: BigWim
16.06.2010 um 11:36 Uhr
Hallo David,

Du kannst die Ausgabe vom Ping mit dem Find näher begutachten. Das Wie ist abhängig vom Aufbau Deines Scriptes. Über Find kannst Du die Ausgabe auf mehrere "Aussagen" hin überprüfen.

Einfaches Beispiel

01.
ping -n 1 www.google.de | find /i /c "Antwort"
Antwort = 1

01.
ping -n 1 www.google.de | find /i /c "xyAntwort"
Antwort = 0


Markus
Bitte warten ..
Mitglied: davidl
16.06.2010 um 13:42 Uhr
Danke, so hab ichs lösen können
Bitte warten ..
Mitglied: yakazaa
22.09.2011 um 08:24 Uhr
Hi,

habe ein ähnliches Problem:
Ich möchte das o.g. Skript gerne verwenden um es hinterher auszuwerten.

Derzeit erhalte ich ja inder Folgezeile eben eine 0 oder eine 1

Diese möchte ich nun in eine Variable schreiben um Sie auswerten zu können:
Wenn 1, dann ....
Wenn 2 dann ....

Die Auswertung bekomme ich mit IF-Abfragen schon hin, aber wie bekomme ich die 0 oder 1 in die Variable ?.
Bitte warten ..
Mitglied: davidl
22.09.2011 um 11:22 Uhr
Hi,

probier mal das ...

01.
if %ERRORLEVEL% == 0 ( 
02.
set Variable = 0 
03.
)
Lg David
Bitte warten ..
Mitglied: FrankLudwig
20.09.2016, aktualisiert um 13:00 Uhr
Hier ist ein funktionierendes Beispiel:
@echo off
echo.
echo Ping test
echo.
REM errorlevel 1 heisst groesser oder gleich!
ping %1|find "Antwort"

if not errorlevel 1 goto istda
goto istnichtda

:istda
echo %1 ist erreichbar
goto ende

:istnichtda
echo %1 ist NICHT erreichbar
goto ende

:ende

Ergänzend könnte man noch abfragen, ob kein Parameter angegeben wurde.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Seltsames Verhalten bei Errorlevel abfrage in FOR DO Schleife (1)

Frage von Kalma73 zum Thema Batch & Shell ...

iOS
Frage zu Mail Header (8)

Frage von rocco61 zum Thema iOS ...

Batch & Shell
gelöst Abfrage ERRORLEVEL springt aus der FOR Schleife (8)

Frage von Galindiesel zum Thema Batch & Shell ...

Batch & Shell
gelöst Win10 ändert den Errorlevel? ( Batch ) (12)

Frage von clragon zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Webentwicklung
Aktuellen Mitarbeiter auf Homepage anzeigen (13)

Frage von alemanne21 zum Thema Webentwicklung ...

Festplatten, SSD, Raid
gelöst Raid-Controller (Areca) Datenverlust trotz R5 (13)

Frage von sebastian2608 zum Thema Festplatten, SSD, Raid ...

Microsoft Office
gelöst Office 365 Pro Domäne einrichten OHNE Webseite (9)

Frage von thklemm zum Thema Microsoft Office ...

Server-Hardware
HP ProLiant DL380 G7, POST Error: 1785-Drive Array not Configured (8)

Frage von Paderman zum Thema Server-Hardware ...