Jump to content

Batchfile um ping auszuwerten


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo,

leider kenne ich mit Batch-Pogrammierung kaum aus, besonders nicht mit Checken von Ausgaben etc.

 

Ich suche ein Batchfile, welches 1x pro Minute einen Ping auf etwa 5 bestimmte IP-Adressen schickt und das Ergebiss dann in der Art:

 

192.168.1.110 offline

192.168.1.112 ONLINE

192.168.1.113 offline

192.168.1.117 offline

192.168.1.118 ONLINE

 

ausgibt.

Ist das mit einer BAT zu lösen?

 

Danke für Support,

Martin

Link zu diesem Kommentar

Hi und Danke,

das sieht schon gut aus, muß ich mal testen.

Ich will es in einem DOS-Fenster laufen lassen, um zu sehen, wer Online ist in "meinem" LAN (bzw. welcher Rechner und WLAN-Karte eingeschaltet sind).

 

Kann ich statt der IP-Adresse einen namen Ausgeben lassen?

Also wenn in der Datei hosts.txt zusätzlich nach der IP noch eine Name steht, wie könnte ich das ralisieren?

hosts.txt:

192.168.65.110 Otto

192.168.65.112 Claudia

....

 

Ausgabe dann:

Otto: ONLINE

Claudia: offline

....

 

Grüße

Martin

Link zu diesem Kommentar

Das

-------

Otto: $client1

Claudia: $client2

-----

soll in dieses Script einbaubar sein?

Wie denn?

 

Tja, bin nicht vom Fach ;-)

 

Das orig. Script:

 

@echo off

set host=hosts.txt

for /f %%i in (%host%) do (ping -n 1 %%i | find "Antwort" > nul ) && (@echo %%i ist online) || (@echo %%i ist offline)

 

 

 

Die hosts.txt hast nichts mit dre Windos-Hosts zu tun!

 

Grüße

Martin

Link zu diesem Kommentar

Hi,

 

Du brauchst keine weitere Schleife:

 

@echo off

set host=hosts.txt

for /f "tokens=1,2 delims= " %%i in (%host%) do (ping -n 1 %%i | find "Antwort" > nul ) && (@echo %%j: online) || (@echo %%j: offline)

 

In der hosts.txt (kann natürlich zwecks Entwirrung auch anders heißen) gibst Du IP-Adressen und Namen mit Space getrennt an:

 

192.168.0.1 Otto

192.168.0.2 Claudia

192.168.0.3 Karl

....

 

Hinweis: TAB als Delimiter geht nicht, verwende SPACE. Viel Spaß ;)

 

Grüße,

Fritz

Link zu diesem Kommentar

Hallo,

erstmal vielen Dank an alle für die vielen guten Tipps und Vorschläge !

 

Das Script läuft schon echt erfolgreich, jetzt noch eine andere Frage:

Gibt es eine Art Tool (ähnlich dem wait), welches es erlaubt, diese Batchfile in einem kleinen Fenster (6 Zeieln x 12 Zeichen) laufen zu lassen?

Ein normales DOS-Fenster ist ja ziemlich groß und hat die unnötige Kopfzeile.

 

--------------------------------------------

@echo off

set host=hosts.txt

for /f "tokens=1,2 delims= " %%i in (%host%) do (ping -n 1 %%i | find "Antwort" > nul ) && (@echo Online %%j) || (@echo offline %%j)

 

E:\diverses\wait 60

@cls

%0

-----------------------------------------------

 

Noch was:

Ist es möglich, in die "Verzweigungen" Online und offline noch eine Dateiausgabe einzubauen? Also zusätzlich zu der Screen-Ausgabe noch in der Art (nee Art Protokoll):

... time /t :echo Online > /tmp/%%j.txt

(Zeitangabe und Status für jede IP/Benutzer in extra Datei)

?

 

Danke nochmals an alle,

Martin

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...