Batchjob Ping Abfrage fehlerhaft
Moin Leute,
ich habe ein kleinen Programm geschrieben, welches abfragt (mit Ping), ob der PC an ist bzw. mit dem Internet verbunden ist, nun hier mein Fehler:
NAME ist da.
NAME ist da.
NAME ist da.
Es wird überall angezeigt, dass die Person da ist, obwohl das gar nicht stimmt, hier die Batchjobs.
(1/2)
@echo off
for /f %%f in (adressen.txt) DO call nochneuer.bat %%f
%USERDOMAIN%.txt
(2/2)
@echo off
color A
title Anwesenheitsliste vom %date:~-10,2%.%date:~-7,2%.%date:~-4% um %time:~-11,2%:%time:~-8,2%
for /f "tokens=1 delims=:" %%a in ("%1") do ( set ANZTYP=%%a )
for /f "tokens=2 delims=:" %%a in ("%1") do ( set ANZNAME=%%a )
for /f "tokens=3 delims=:" %%a in ("%1") do ( set ANZTCPIP=%%a )
if %ANZTYP%==U goto ANZEIGEN
if %ANZTYP%==R goto PINGEN
:PINGEN
ping -n 1 -w 100 %ANZTCPIP% >nul
if errorlevel 0 goto DA
if errorlevel 1 goto NICHTDA
goto ENDE
:ANZEIGEN
echo %ANZNAME% >> %USERDOMAIN%.txt
goto ENDE
:DA
echo ANZNAME% ist da. >> %USERDOMAIN%.txt
goto ENDE
:NICHTDA
echo %ANZNAME% ist nicht da. >> %USERDOMAIN%.txt
:ENDE
falls man die adressen.txt noch braucht:
U:-----Geschaeftsleitung-----------:1
R:Vorname_Nachname:IP
R:Vorname_Nachname:IP
usw...
Könnt ihr mir irgenwie helfen?
MfG Lukas
ich habe ein kleinen Programm geschrieben, welches abfragt (mit Ping), ob der PC an ist bzw. mit dem Internet verbunden ist, nun hier mein Fehler:
NAME ist da.
NAME ist da.
NAME ist da.
Es wird überall angezeigt, dass die Person da ist, obwohl das gar nicht stimmt, hier die Batchjobs.
(1/2)
@echo off
for /f %%f in (adressen.txt) DO call nochneuer.bat %%f
%USERDOMAIN%.txt
(2/2)
@echo off
color A
title Anwesenheitsliste vom %date:~-10,2%.%date:~-7,2%.%date:~-4% um %time:~-11,2%:%time:~-8,2%
for /f "tokens=1 delims=:" %%a in ("%1") do ( set ANZTYP=%%a )
for /f "tokens=2 delims=:" %%a in ("%1") do ( set ANZNAME=%%a )
for /f "tokens=3 delims=:" %%a in ("%1") do ( set ANZTCPIP=%%a )
if %ANZTYP%==U goto ANZEIGEN
if %ANZTYP%==R goto PINGEN
:PINGEN
ping -n 1 -w 100 %ANZTCPIP% >nul
if errorlevel 0 goto DA
if errorlevel 1 goto NICHTDA
goto ENDE
:ANZEIGEN
echo %ANZNAME% >> %USERDOMAIN%.txt
goto ENDE
:DA
echo ANZNAME% ist da. >> %USERDOMAIN%.txt
goto ENDE
:NICHTDA
echo %ANZNAME% ist nicht da. >> %USERDOMAIN%.txt
:ENDE
falls man die adressen.txt noch braucht:
U:-----Geschaeftsleitung-----------:1
R:Vorname_Nachname:IP
R:Vorname_Nachname:IP
usw...
Könnt ihr mir irgenwie helfen?
MfG Lukas
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 334840
Url: https://administrator.de/forum/batchjob-ping-abfrage-fehlerhaft-334840.html
Ausgedruckt am: 22.04.2025 um 07:04 Uhr
2 Kommentare
Neuester Kommentar
Nicht raten, nachschauen.
Dazu gehört als allererstes, das man die Ausgabe des Ping nicht einfach im Nirvana verschwinden lässt, sondern protokolliert, um zu sehen, was der Ping zurückliefert.
Erster Ratevorschlag: Eventuell ist der Rechner ja trotz aus erreichbar, weil man VPRO Fernwartungsfunktionen hat?
Dazu gehört als allererstes, das man die Ausgabe des Ping nicht einfach im Nirvana verschwinden lässt, sondern protokolliert, um zu sehen, was der Ping zurückliefert.
Erster Ratevorschlag: Eventuell ist der Rechner ja trotz aus erreichbar, weil man VPRO Fernwartungsfunktionen hat?

Hi,
den Errorlevel von Ping kann man nicht dafür hernehmen um zu sagen ob ein Host online ist oder nicht!!
Den Fehler machen Anfänger leider immer wieder.Da musst du z.B. mit find arbeiten
Steht hier aber schon in 1000enden Threads ...
Besser du beschäftigst dich gleich mit Powershell anstatt noch mit Batch anzufangen.
hauruck
den Errorlevel von Ping kann man nicht dafür hernehmen um zu sagen ob ein Host online ist oder nicht!!
Den Fehler machen Anfänger leider immer wieder.Da musst du z.B. mit find arbeiten
ping -n 1 192.168.24.1 | find "Antwort von" >nul 2>&1 && (
Echo Host online
) || (
Echo Host offline
)
Besser du beschäftigst dich gleich mit Powershell anstatt noch mit Batch anzufangen.
hauruck