Zum Inhalt springen

Batch: Liste von Rechnern anpingen


Hüsi

Empfohlene Beiträge

Das sollte so gehen:


@echo off

for /F %%i in (Hosts.txt) do ( 

	ping -n 2 %%i && echo %%i >> RunningSystems.txt

	)

(Einfacher ist es mit der "find /i"-Lösung. Weil der errorlevel nicht ordentlich gesetzt wird.)

Ich hatte das Problem, dass Ping das %errorlevel% in der Batchdatei nicht sofort anpasst, sprich egal ob Host down oder up, der %errorlevel% war immer 1. Das konnte ich die auf die FOR-Schleife zurückführen.

Läßt man die gleichen Ping-Befehle manuell in der CMD laufen, dann passt auch der %errorlevel%.

Weiß einer woran das liegt?

(EDIT: Gar nicht gesehen, dass der Thread zwei Seiten besitzt.)

Bearbeitet von lupo49
Link zu diesem Kommentar
Auf anderen Seiten teilen

@Maulwurf:

SUPER, DANKE DIR! ;)

hast mich nen großen schritt weitergebracht :)

Wenn ich noch fragen habe melde ich mich einfach nochmal!

lg

ryoorox

edit:

eine frage habe ich noch... wenn meine textdatei jetzt so aussehen würde

192.164.2.1 Terminal1

192.164.2.2 Terminal2

192.164.2.3 Terminal3

ist es möglich in der meldung nicht die ip wiederzugeben sondern den terminalnamen?

Bearbeitet von ryoorox
Link zu diesem Kommentar
Auf anderen Seiten teilen

So es läuft alles super, immer wenn ein terminal nicht antwortet kommt ein neues fenster mit der meldung das es nicht mehr online ist... kleines problem habe ich da aber noch, habe schon versucht ne lösung zu finden aber ich scheitere^^

wir haben doch mehr terminals als gedacht... es kann schonmal vorkommen das 15 terminals gleichzeitig ausfallen, wenn sowas vorkommt hat man dann 15 fenster aufm desktop und das verwirrt schon etwas! gibt es eine möglichkeit die meldungen erst ganz am ende zusammengefasst in einem fenster anzeigen zu lassen?

lg

ryoorox

Link zu diesem Kommentar
Auf anderen Seiten teilen

merke: erst nachdenken dann schreiben.. habe noch eine frage..

gibt es eine möglichkeit ein paar sachen in der textdatei auszukommentieren wie in versch. programmiersprachen zum beispiel?

127.0.0.1

127.0.0.2

//127.0.0.3 <- auskommentiert

127.0.0.4

so zb oder muss ich da nen anderen weg gehen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

gibt es eine möglichkeit die meldungen erst ganz am ende zusammengefasst in einem fenster anzeigen zu lassen?

ja, statt dem START-Befehl schreibst Du in eine Datei.

Datei 2 (pinger.bat):


...

set meldung=C:\meldung.bat

[COLOR="Red"]set report=C:\report.txt[/COLOR]

...

for /f %%i in (%host%) do (

...

    if exist %pingsave% (

       for /f %%a in (%pingsave%) do (

          if %%a == 0 (              

[COLOR="Red"]rem             start %meldung% %%i

               echo %%i >> %report%[/COLOR]

          ) 

       ) 

       erase %pingsave%

    ) else (

       echo Datei %pingsave% nicht gefunden.

    )   

)

[COLOR="Red"]

start %meldung% %report%[/COLOR]

goto start


EXIT

Die Meldung.bat wird umgebaut das es alle Zeilen dieser Datei ausgibt, also mit einer For-Schleife. Hinweis, die Datei welche sich hinter %report% versteckt muss auch gelöscht werden weil sonst neue Einträge angefügt werden. Das Löschen der Datei in %report% ist oben nicht eingebaut, das kannst Du selber an passender Stelle einfügen.
[...] gibt es eine möglichkeit ein paar sachen in der textdatei auszukommentieren wie in versch. programmiersprachen zum beispiel? 127.0.0.1 127.0.0.2 //127.0.0.3 <- auskommentiert 127.0.0.4 [...]
Kannst Du schon. Einfach die Datei wie folgt aufbauen

;127.0.0.1;Termina1

;127.0.0.2;Terminal2

//;127.0.0.3;Terminal3 <- auskommentiert

jetzt kannst Du mit 3 Tokens arbeiten und "DELIMS=;" und schon kannst Du per IF die "Kommentare" überlesen, in diesem Fall die "//"-Zeichen.

for /F "tokens=* delims=;" %%a IN (%1) do ( if not '%%a' == '//' ( echo ... ) )

(%%a ist Kommentarzeichen; %%b ist IP; %%c ist Terminalname)

Hoffe das funktioniert jetzt auch alles so :), habe leider keine Zeit es selber zu testen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

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

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

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

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...