freaky-boy
Goto Top

Über Batch prüfen ob IP online ist

Hallo,
ich würde gern eine Batchdatei schreiben in der unter anderem abgefragt wird, ob eine IP im Netzwerk Online oder Offline ist. Mit fehlt dabei allerdings ein Stückchen Code.
Das Ganze sollte dann in etwa so aussehen:

...
if [stück was fehlt] (goto vatiante1) else (goto variante2)
...

Wäre nett wenn mir jemand dabei helfen könnte.

mfg Freaky-Boy

Content-Key: 75857

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

Printed on: April 19, 2024 at 23:04 o'clock

Member: schregi82
schregi82 Dec 12, 2007 at 19:30:12 (UTC)
Goto Top
wie wärs mit

@echo off
set host=<ziel-ip>
ping -n 1 -w 5 %host% | find /i "Antwort" && (@echo %host% ist online) || (@echo %host% ist offline)  
pause
exit

lg

/edit: wegen sekundenschlaf meiner rechten gehirnhälfte geändert.
Member: Freaky-Boy
Freaky-Boy Dec 12, 2007 at 19:37:07 (UTC)
Goto Top
Nein das geht leider nicht. Damit kann man nur überprüfen ob eine Datei vorhanden ist.
Member: Dani
Dani Dec 12, 2007, updated at Oct 18, 2012 at 16:32:48 (UTC)
Goto Top
Abend Freaky-Boy,
wenn es nur ein einzelner Client sein soll, probier es mal so:
@echo off

for /f %%a in ('ping 0.0.0.0 ^|find /C "Antwort von"') do @(  
	if %%a EQU 4 echo Client ist an.
	else echo Client ist aus.
)
Ungetestete Skizze!
Falls du das Ganze mit mehreren REchner machen möchtest, schau dir diesen an.

@schregi82
Das Beispiel würde ich gerne mal sehen....


Grüße
Dani
Member: schregi82
schregi82 Dec 12, 2007 at 19:47:41 (UTC)
Goto Top
@Dani

Die geistige Umnachtung schlägt zu,
Nach dem Hinweis von Freaky hab ich ja noch so grade die Kurve gekratzt.

In diesem Sinne wünsch ich euch eine gute Nacht.

lg,
Member: Freaky-Boy
Freaky-Boy Dec 12, 2007 at 19:52:19 (UTC)
Goto Top
OK alles klar ich danke dir schregi82 dein Code funktioniert. wie bist du auf die Zusätze von Ping gekommen? ich hab versucht mir die Hilfe von Ping anzeigen zu lassen aber da war nichts zu holen.

Dani bei dir gabs ein kleines Problem. Wenn die IP online ist geht dein Code nur das die Meldung kam das dein else nicht gefunden wurden. Bei Offline geht dein Code dann logischer weise nicht.

Trotzdem danke euch beiden und danke für die schnelle Hilfe.

mfg
Member: Biber
Biber Dec 13, 2007 at 05:14:08 (UTC)
Goto Top
Moin Freaky-Boy,

Dani war gedanklich noch bei irgendeiner anderen Skriptsprache.
Die Syntax, mit der der die CMD.exe besser umgehen kann wäre:
@echo off

for /f %%a in ('ping 0.0.0.0 ^|find /C "Antwort von"') do (  
	if %%a EQU 4 (
                              echo Client ist an.
	) else (
                         echo Client ist aus.
               )
)
-oder auch-

@echo off

for /f %%a in ('ping 0.0.0.0 ^|find /C "Antwort von"') do (  
            if %%a EQU 4 ( echo Client ist an.) else  echo Client ist aus.               
)

Und Dich bitte ich, doch etwas mehr Vertrauen in unsere Forumssuchfunktion zu setzen.
Deine Fragen - die der letzten Beiträge- sind größtenteils hier schon mehrfach beantwortet worden.

Grüße
Biber