Probleme mit Variablen und FOR Schleife
Ich bin gerade für die Arbeit so eine Art IP-Scanner am bauen, jedoch habe ich Probleme mit Variablen in einer FOR Schleife.
Hallo Zusammen,
Zurzeit schreibe ich für die Arbeit so eine Art IP-Scanner, jedoch klappt dieser nicht ganz da die Batch in einer FOR \L Schleife nicht ins die Variablen %status% und %name% schreibt.
Sobald ich mir diese per ECHO ausgeben lasse, steht dort nichts drin. Könnt Ihr mir vlt helfen
Hallo Zusammen,
Zurzeit schreibe ich für die Arbeit so eine Art IP-Scanner, jedoch klappt dieser nicht ganz da die Batch in einer FOR \L Schleife nicht ins die Variablen %status% und %name% schreibt.
Sobald ich mir diese per ECHO ausgeben lasse, steht dort nichts drin. Könnt Ihr mir vlt helfen
@echo off & setlocal EnableDelayedExpansion
ECHO Bitte IP eingeben: ( XXX.XXX.XXX )
SET /p ip=
ECHO Bitte Anzahl an Rechner eingeben:
SET /p anzahl=
FOR /L %%N IN (1, 1, %anzahl%) DO (
PING -a %ip%.%%N > tmp_%ip%.%%N.txt
FIND "TTL" < tmp_%ip%.%%N.txt && SET status=online
FIND "TTL" < tmp_%ip%.%%N.txt || SET status=offline
FIND "TTL" < tmp_%ip%.%%N.txt && for /f "tokens=2 delims= " %%i in ('findstr "mit" tmp_%ip%.%%N.txt') do SET nanme=%%i
ECHO %ip%.%%N;%status%;%name% >> ip.txt
)
pause
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 154911
Url: https://administrator.de/forum/probleme-mit-variablen-und-for-schleife-154911.html
Ausgedruckt am: 04.05.2025 um 14:05 Uhr
5 Kommentare
Neuester Kommentar
Hallo maho1987 und willkommen im Forum!
Du hast ja mit "
Die Klammern sollen übrigens nur das Ausgeben eines Leerzeichens nach dem Namen verhindern - wenn's nicht stört kannst Du sie auch weg lassen, bzw genügt in diesem Fall ziemlich sicher (Du wirst vermutlich keine Rechnernamen haben, die nur aus einer Ziffer bestehen) auch:
Grüße
bastla
Du hast ja mit "
setlocal EnableDelayedExpansion
" schon gut begonnen - dann nur noch konsequent bleiben und die damit geschaffene Möglichkeit auch verwenden:(ECHO %ip%.%%N;!status!;!name!)>>ip.txt
ECHO %ip%.%%N;!status!;!name!>>ip.txt
bastla

Servus und auch von mir ein willkommen..
Hallo zusammen; Codeblöcke; richtige Rubrik gefunden, ja ist denn schon wieder Weihnachten?
Ein/zwei/drei kleine Tipps:#
(das Sprungziel start muß dann natürlich dazu und wenn du mal ein 10.x.x. Netz abfragen willst - müßtest du das anpassen)Hallo zusammen; Codeblöcke; richtige Rubrik gefunden, ja ist denn schon wieder Weihnachten?
Ein/zwei/drei kleine Tipps:#
- Zeile 3 & 4 kannst du zusammenfassen:
SET /p ip=Bitte IP eingeben: ( XXX.XXX.XXX )
- Zeile 6/7 siehe 3&4 obwohl das irreführend ist, denn es geht davon aus, das 1 nicht das GW ist und das jeder Rechner immer eine Folgeip bekommt und keine Lücken da sind.
SET /p anzahl=wieviele Adressen sollen durchsucht werden weit soll das Netz durchsucht werden?
Gruß