BATCH Aus HOST Datei nur IPs auslesen
Hallo, es geht darum in einem Skript IPs aus einer Hostdatei zu lesen und diese dann in Textdateien zu schreiben.
Im Moment sieht mein Skript so aus:
Jetzt würd ich gerne den oberen Teil, sagen wir renovieren...
Und zwar soll er die IP automatisch aus einer host Datei auslesen.
Nur ist jetzt die Frage wie ?
Jemand ne Idee ?!
Im Moment sieht mein Skript so aus:
@echo off
:START
set /p ZIELIP1=Bitte geben Sie die ersten 3 Oktette der Ziel IP ein:
set /p ZIELIP=Letztes Oktett Ziel IP Start:
set /p ZIELIP2=Letztes Oktett Ziel IP Ende:
GOTO IPTEST
:IPTEST
if %ZIELIP%==%ZIELIP2% goto FINISH
echo Versuche Ziel (%ZIELIP1%.%ZIELIP%) zu erreichen...
ping -n 1 -w 50 %ZIELIP1%.%ZIELIP% >nul
if %ERRORLEVEL%==0 goto PING_TRUE
goto PING_FALSE
:PING_TRUE
ECHO %ZIELIP1%.%ZIELIP% >> Klappt.txt
set /A ZIELIP+=1
GOTO IPTEST
:PING_FALSE
ECHO %ZIELIP1%.%ZIELIP% >> Klappt_nicht.txt
set /A ZIELIP+=1
GOTO IPTEST
:FINISH
ECHO Bitte drücken Sie eine beliebige Taste zum Beenden des Programms !
pause > nul
:START
set /p ZIELIP1=Bitte geben Sie die ersten 3 Oktette der Ziel IP ein:
set /p ZIELIP=Letztes Oktett Ziel IP Start:
set /p ZIELIP2=Letztes Oktett Ziel IP Ende:
GOTO IPTEST
:IPTEST
if %ZIELIP%==%ZIELIP2% goto FINISH
echo Versuche Ziel (%ZIELIP1%.%ZIELIP%) zu erreichen...
ping -n 1 -w 50 %ZIELIP1%.%ZIELIP% >nul
if %ERRORLEVEL%==0 goto PING_TRUE
goto PING_FALSE
:PING_TRUE
ECHO %ZIELIP1%.%ZIELIP% >> Klappt.txt
set /A ZIELIP+=1
GOTO IPTEST
:PING_FALSE
ECHO %ZIELIP1%.%ZIELIP% >> Klappt_nicht.txt
set /A ZIELIP+=1
GOTO IPTEST
:FINISH
ECHO Bitte drücken Sie eine beliebige Taste zum Beenden des Programms !
pause > nul
Jetzt würd ich gerne den oberen Teil, sagen wir renovieren...
Und zwar soll er die IP automatisch aus einer host Datei auslesen.
Nur ist jetzt die Frage wie ?
Jemand ne Idee ?!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 92660
Url: https://administrator.de/forum/batch-aus-host-datei-nur-ips-auslesen-92660.html
Ausgedruckt am: 04.04.2025 um 05:04 Uhr
1 Kommentar
Windows Hilfe und dort mal nach for Schleifen suchen. Damit ist das geht das völlig problemlos.
z.B.
for /f "tokens=2" %%a in (host) do (ping -n 1 %%a | find /i "ping-statistik")>>active-ips.txt
for /f "tokens=3 delims=: " %%a in (active-ips.txt do (echo %%a)) >>klappt.txt
jetzt sollten in klappt.txt nur die activen Ips stehen
Gruß Alex
z.B.
for /f "tokens=2" %%a in (host) do (ping -n 1 %%a | find /i "ping-statistik")>>active-ips.txt
for /f "tokens=3 delims=: " %%a in (active-ips.txt do (echo %%a)) >>klappt.txt
jetzt sollten in klappt.txt nur die activen Ips stehen
Gruß Alex