Topsurfer 10 Geschrieben 28. Juli 2004 Melden Teilen Geschrieben 28. Juli 2004 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 Zitieren Link zu diesem Kommentar
SaschaH_KN 10 Geschrieben 28. Juli 2004 Melden Teilen Geschrieben 28. Juli 2004 Hi Martin, vielleicht ist das was fuer Dich (bin mir aber nicht ganz sicher): http://www.mcseboard.de/showthread.php?s=&threadid=37149 --> direkt der 1. Eintrag Gruss + Welcome on Board Sascha Zitieren Link zu diesem Kommentar
snake 10 Geschrieben 28. Juli 2004 Melden Teilen Geschrieben 28. Juli 2004 wie willst du es den ausgeben in ner textdatei oder in der cmd ? Zitieren Link zu diesem Kommentar
Topsurfer 10 Geschrieben 28. Juli 2004 Autor Melden Teilen Geschrieben 28. Juli 2004 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 Zitieren Link zu diesem Kommentar
snake 10 Geschrieben 28. Juli 2004 Melden Teilen Geschrieben 28. Juli 2004 klar geht das must nur die ausgabe fix setzen so das Otto: $client1 Claudia: $client2 so das standartmässtig die namen ausgegeben werden und dan eben die variable dahinter die sich je nach status ändert in OFFLINE oder ONLINE Zitieren Link zu diesem Kommentar
Fraenky 10 Geschrieben 28. Juli 2004 Melden Teilen Geschrieben 28. Juli 2004 Hi, hat zwar nichts mit Deiner Batch zu tun, aber wenn Deine "Hosts" Datei vom System abgearbeitet werden soll, musst Du unbedingt das .txt wegnehmen, denn sonst ist sie wertlos, und wird beim Systemstart übergangen. Zitieren Link zu diesem Kommentar
Topsurfer 10 Geschrieben 28. Juli 2004 Autor Melden Teilen Geschrieben 28. Juli 2004 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 Zitieren Link zu diesem Kommentar
snake 10 Geschrieben 28. Juli 2004 Melden Teilen Geschrieben 28. Juli 2004 nein das ist es noch nicht du hast ha die ausgabe mit echo diese ausgabe must du hinter die namen bringen eventuell mit ner weiteren schleiffe Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 28. Juli 2004 Melden Teilen Geschrieben 28. Juli 2004 Hi Ich will es in einem DOS-Fenster laufen lassen, um zu sehen, wer Online ist in "meinem" LAN würde sich dafür nicht der Einsatz eines Messengers anbieten - z.B. MSN-Messenger, Windows-Messenger. cu blub Zitieren Link zu diesem Kommentar
fritzo 10 Geschrieben 28. Juli 2004 Melden Teilen Geschrieben 28. Juli 2004 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 Zitieren Link zu diesem Kommentar
fritzo 10 Geschrieben 28. Juli 2004 Melden Teilen Geschrieben 28. Juli 2004 Hi ach ja, vergessen: "1x pro Minute". Ok: Downloade "wait.exe" hier: http://www.wcscnet.com/FTP/Freeware/Wait100.zip Entpack wait.exe und kopier sie nach nach %systemroot%\system32\ Füg an das Script folgende Zeile an: wait 60 Grüße, Fritz Zitieren Link zu diesem Kommentar
Topsurfer 10 Geschrieben 28. Juli 2004 Autor Melden Teilen Geschrieben 28. Juli 2004 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 Zitieren Link zu diesem Kommentar
Topsurfer 10 Geschrieben 29. Juli 2004 Autor Melden Teilen Geschrieben 29. Juli 2004 So, habe mal ein wenig gegoogelt und gefunden, das es wohl nicht möglich ist, innerhalb der for-Schleife mehrere Befehle auszufürhen. Stimmt das? Wie könnte ich dann die Ausgabe zum einen auf dem Bildschirm ausgeben lassen und eine (zusätlich datum/Uhrzeit) Ausgabe in eine Datei umleiten? Martin Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.