Batch Datei - Pingbefehl

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ich verstehe nicht wirklich, warum du in jedem Fall "nicht erreichbar" in die Textdatei schreiben willst. Die Lösung zu deinem Problem ist aber "&&" und " || ".

Mit "&&" kannst du festlegen, welcher Befehl ausgeführt werden soll, falls der vorangegangene erfolgreich war.

Mit " || " kannst du festlegen, welcher Befehl ausgeführt werden soll, falls der vorangegangene NICHT erfolgreich war:

ping -n 2 -w 50 10.46.101.%n% && echo IP erreichbar: 10.46.101.%n% 1>ipaddresses.txt || echo Zielnetz nicht erreichbar.

Um die Ausgabe von PING zu unterdrücken, kannst du hinter das "%n%" bzw vor das "&&" noch ein "1>nul 2>nul" machen:

ping -n 2 -w 50 10.46.101.%n% >nul 2>nul && ...

Auf die Seite bin ich vorher auch schon gestoßen, doch sie war nur wenig hilfreich. Ich habe das Problem so gelößt:

@echo off

color c

set /a n=10

:repeat

set /a n+=1

echo 10.46.101.%n%

ping -n 2 -w 50 10.46.101.%n%

IF %errorlevel% EQU 1 (@echo IP nicht erreichbar. IP: 10.46.101.%n%>> ipaddresses.txt)

if %n% lss 128 goto repeat

exit
stackoverflow.com/questions/13713318/ping-all-addresses-in-network-windows  

j3ffdixon.blogspot.de/2014/04/batch-file-ping-ips-in-range-and-if_24.html