IP Segment in bat - Datei
Hallo,
ich möchte in einer Batch-Datei gerne das 3te IP-Segment auslesen und weiterverarbeiten. Ist dies möglich, wenn ja wie?
Bsp:
IP Adresse ist 192.168.19.10 --> dann möchte ich, das die 19 in einer Variable gespeichert wird, die ich z.B. in einem ping-Befehl weiterverarbeiten kann --> ping 192.168.%IPRANGE%.1
Danke
Stefan
ich möchte in einer Batch-Datei gerne das 3te IP-Segment auslesen und weiterverarbeiten. Ist dies möglich, wenn ja wie?
Bsp:
IP Adresse ist 192.168.19.10 --> dann möchte ich, das die 19 in einer Variable gespeichert wird, die ich z.B. in einem ping-Befehl weiterverarbeiten kann --> ping 192.168.%IPRANGE%.1
Danke
Stefan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 89409
Url: https://administrator.de/forum/ip-segment-in-bat-datei-89409.html
Ausgedruckt am: 06.05.2025 um 09:05 Uhr
6 Kommentare
Neuester Kommentar
Hallo swimmer und willkommen im Forum!
Soferne Du die IP-Adresse bereits in einer Variablen (zB %IP%) hast, etwa so:
Die Zerlegung in Einzelteile (= "tokens") erfolgt anhand des Trennzeichens (= "delimiter") "." und liefert die Ergebnisse in den Variablen %%a bis %%d - das 3. Segment ist daher in %%c enthalten.
Mehr dazu in der Onlinehilfe ("for /?" an der Kommandozeile eingeben) ...
Grüße
bastla
Soferne Du die IP-Adresse bereits in einer Variablen (zB %IP%) hast, etwa so:
for /f "tokens=1-4 delims=." %%a in ("%IP%") do set IPRANGE=%%c
Mehr dazu in der Onlinehilfe ("for /?" an der Kommandozeile eingeben) ...
Grüße
bastla
Hallo swimmer!
lautet und somit die Befehlszeilen selbst vor der Ausführung nicht angezeigt werden.
Grüße
bastla
P.S.: Zum Posten von Code:
ping 192.168.%c%.1
kann nicht funktionieren, da auch %%c (%c% war vermutlich ein Tippfehler) nur innerhalb der "for"-Schleife zur Verfügung steht - deshalb ja auch die Variable %IPRANGE%: ping 192.168.%IPRANGE%.1
Kann ich die Ausgabe ... auch "silent" machen?
Ganz verstehe ich Deine Frage nicht, da diese Zeile keine sichtbare Ausgabe erzeugt. Da Du von einem bestehenden Batch geschrieben hast, gehe ich natürlich davon aus, dass die erste Zeile@echo off & setlocal
Grüße
bastla
P.S.: Zum Posten von Code:
Hallo swimmer!
Falls es die aktuelle Adresse des lokalen Rechners sein sollte (und dieser nur über einen NW-Adapter mit nur einer Adresse verfügt), kannst Du das gleich kombinieren:
Grüße
bastla
woher bekomme ich die Variable %IP% gefüllt?
Eigentlich solltest Du wissen, welche IP-Adresse Du zerlegen willst ...Falls es die aktuelle Adresse des lokalen Rechners sein sollte (und dieser nur über einen NW-Adapter mit nur einer Adresse verfügt), kannst Du das gleich kombinieren:
for /f "tokens=2 delims=:" %%i in ('ipconfig^|findstr "IP-Adr"') do for /f "tokens=1-4 delims=." %%a in ("%%i") do set IPRANGE=%%c
bastla