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-ID: 75857

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

Ausgedruckt am: 22.11.2024 um 04:11 Uhr

schregi82
schregi82 12.12.2007 um 20:30:12 Uhr
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.
Freaky-Boy
Freaky-Boy 12.12.2007 um 20:37:07 Uhr
Goto Top
Nein das geht leider nicht. Damit kann man nur überprüfen ob eine Datei vorhanden ist.
Dani
Dani 12.12.2007, aktualisiert am 18.10.2012 um 18:32:48 Uhr
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
schregi82
schregi82 12.12.2007 um 20:47:41 Uhr
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,
Freaky-Boy
Freaky-Boy 12.12.2007 um 20:52:19 Uhr
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
Biber
Biber 13.12.2007 um 06:14:08 Uhr
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