Ping -n x Wird nicht durchgeführt
Ich prüfe mit der unten stehenden Batch Datei, ob ein Netzwerkdrucker angeschlossen ist. Als Ergebnis schreibe ich eine Variable in eine Textdatei, mit der ich dann weiterarbeiten kann.
Ich will den Ping auf zwei Abfragen verkürzen, das haut jedoch nicht hin. Seh ich den Wald vor lauter Bäumen nicht, oder was stimmt mit dem Batch nicht?
@echo off
for /f %%a in ('ping -n 2 192.168.1.254 ^|find /C "Antwort von"') do (
if %%a EQU 4 ( SET Vorhanden=Client ist an.)
else SET Vorhanden=Client ist aus.
)
(echo %Vorhanden%)>b.txt && type PingDrucker.txt|more +1>>b.txt && move /y b.txt PingDrucker.txt
del b.txt
Ohne -n 2 haut das einwandfrei hin, dauert aber bei nicht vorhandenem Drucker ewig. Ausserdem schreibt er nicht 'Client ist aus' sondern 'ECHO ist ausgeschaltet (OFF)' in die Textdatei. Die Meldung im cmd - Fenster kann ich nicht lesen, geht zu schnell. Da steht aber irgendwas von 'Der Befehl echo ist falsch geschrieben oder so'
Vielleicht wisst ihr da besser bescheid.
Danke schonmal
Gruß
Benny
Ich will den Ping auf zwei Abfragen verkürzen, das haut jedoch nicht hin. Seh ich den Wald vor lauter Bäumen nicht, oder was stimmt mit dem Batch nicht?
@echo off
for /f %%a in ('ping -n 2 192.168.1.254 ^|find /C "Antwort von"') do (
if %%a EQU 4 ( SET Vorhanden=Client ist an.)
else SET Vorhanden=Client ist aus.
)
(echo %Vorhanden%)>b.txt && type PingDrucker.txt|more +1>>b.txt && move /y b.txt PingDrucker.txt
del b.txt
Ohne -n 2 haut das einwandfrei hin, dauert aber bei nicht vorhandenem Drucker ewig. Ausserdem schreibt er nicht 'Client ist aus' sondern 'ECHO ist ausgeschaltet (OFF)' in die Textdatei. Die Meldung im cmd - Fenster kann ich nicht lesen, geht zu schnell. Da steht aber irgendwas von 'Der Befehl echo ist falsch geschrieben oder so'
Vielleicht wisst ihr da besser bescheid.
Danke schonmal
Gruß
Benny
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 79833
Url: https://administrator.de/forum/ping-n-x-wird-nicht-durchgefuehrt-79833.html
Ausgedruckt am: 21.04.2025 um 19:04 Uhr
6 Kommentare
Neuester Kommentar
Die Meldung im cmd - Fenster kann ich nicht lesen, geht zu schnell. Da steht aber irgendwas von 'Der Befehl echo ist falsch geschrieben oder so'
In solchen Fällen kannst du unten am Batch einfach den Befehl "Pause" (ohne ") hinschreiben, dann bleibt er stehen und du kannst die Meldungen lesen. Oder du startest den Batch direkt über die CMD-Konsole. Sofern du am Schluss des Batches kein "Exit" drin hast, bleiben dann alle Meldungen stehen.