maho1987

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 face-sad

@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
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

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

bastla
bastla 11.11.2010 um 18:34:06 Uhr
Goto Top
Hallo maho1987 und willkommen im Forum!

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
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:
ECHO %ip%.%%N;!status!;!name!>>ip.txt
Grüße
bastla
60730
60730 12.11.2010 um 00:04:12 Uhr
Goto Top
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:#

  • Zeile 3 & 4 kannst du zusammenfassen:
SET /p ip=Bitte IP eingeben: ( XXX.XXX.XXX )

(das Sprungziel start muß dann natürlich dazu und wenn du mal ein 10.x.x. Netz abfragen willst - müßtest du das anpassen)

  • 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ß
bastla
bastla 12.11.2010 um 00:30:52 Uhr
Goto Top
@t-mo
schränkt allerdings etwas stark ein (nur jeweils 3-stellige Werte ohne Nullen) - etwas weniger restriktiv (aber dafür tatsächlich mit Prüfung auf Trennung durch Punkte):
echo %ip% |findstr "[1-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*">nul && echo Eingabe scheint korrekt zu sein ||goto start
Oder so:
set "OK="  
for /f "tokens=1-3 delims=." %%a in ("%ip%") do if not "%%c"=="" if %%a leq 223 if %%b leq 255 if %%c leq 255 set "OK=True"  
if not defined OK goto :start
Grüße
bastla
maho1987
maho1987 12.11.2010 um 10:03:56 Uhr
Goto Top
Danke an Alle.
Mit den Änderungen funktioniert mein Tool endlich.
Werde das Forum weiterempfehlen und versuchen hier aktiv zu sein.
Bis dann mal
60730
60730 12.11.2010 um 10:53:51 Uhr
Goto Top
[OT]
@ Bastla - das beweist wieder mal, du denkst um 0.30 weiter, als ich um 0.04 face-sad
Die 0-9 wollte ich zwar auch ab der 2. ziffer der Oktette reinmachen, hatte aber einen FaulheitsC&Pfehler, aber so ist es viel hybscher face-wink
[/OT]

@ Maho: das ist schön, geben und nehmen face-wink

Gruß
Heiß diskutiert
MysticFoxDEWindows Server - Hotpatching - bald verfügbar - jedoch nicht umsonstMysticFoxDE - 30 Kommentareopc123Kostenloser Hypervisoropc123 - 29 KommentareAssassinServer 2025 HCI S2D Cluster mit aktuellen AMD Epyc?Assassin - 26 Kommentarebloodstix2560x1080 Auflösung komischer Rand bei Spielenbloodstix - 22 KommentareAbstrackterSystemimperatorWindows Key vom Recyclinghof nutzbar?AbstrackterSystemimperator - 22 KommentarejimmmyDer 100ste Versuch Fax mit VoIP zu vereinbarenjimmmy - 21 Kommentareb1nzy1NTP Problem - 0x800705B4 - funktioniert auf keinem Serverb1nzy1 - 18 KommentareRatzeburgFritzBox, pfSense und VLAN am Cisco SG200-08Ratzeburg - 17 KommentareTwistedAirNetzwerkgeräte bei Ransomware - Austausch oder Reset?TwistedAir - 13 KommentarekeineahnungcomputerProfi Notebook CAD Autocadkeineahnungcomputer - 13 KommentarekreuzbergerMB pro min und MB pro s umrechnenkreuzberger - 12 Kommentarestoepsu77Fileserver Ordnerstruktur mit Berechtigungsgruppen für Userstoepsu77 - 11 Kommentareukulele-7Inplace Upgrade mit Eval-ISOukulele-7 - 11 Kommentare