yakazaa
Goto Top

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:


@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

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 ?!

Content-Key: 92660

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

Ausgedruckt am: 28.03.2024 um 09:03 Uhr

Mitglied: alex-w
alex-w 22.07.2008 um 17:33:41 Uhr
Goto Top
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