lukidensi
Goto Top

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

Content-Key: 334840

Url: https://administrator.de/contentid/334840

Printed on: April 19, 2024 at 15:04 o'clock

Member: AndreasHoster
AndreasHoster Apr 11, 2017 updated at 13:30:50 (UTC)
Goto Top
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?
Mitglied: 132895
132895 Apr 11, 2017 updated at 13:34:18 (UTC)
Goto Top
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
ping -n 1 192.168.24.1 | find "Antwort von" >nul 2>&1 && (  
  Echo Host online
) || (
  Echo Host offline
) 
Steht hier aber schon in 1000enden Threads ...
Besser du beschäftigst dich gleich mit Powershell anstatt noch mit Batch anzufangen.

hauruck