Mehrere unbekannte IP-Adressen aus Text Datei in Variablen übernehmen.
Hallo,
ich möchte IP-Adressen aus IPconfig in Variablen übernehmen.
Die Liste habe ich mit findstr gefiltert.
Es bleibt übrig:
(Mit findstr bekomme ich (Bevorzugt) nicht weg.)
Die IP-Adressen sind im Vorfeld nicht bekannt, auch die Anzahl könnte variieren.
Wie bekommen ich die IP-Adressen in Variablen in der Form:
%%a.%%b.%%c.%%d ?
Vg Volker01
ich möchte IP-Adressen aus IPconfig in Variablen übernehmen.
Die Liste habe ich mit findstr gefiltert.
Es bleibt übrig:
IPv4-Adresse . . . . . . . . . . : 192.168.178.10(Bevorzugt)
IPv4-Adresse . . . . . . . . . . : 192.168.181.10(Bevorzugt)
(Mit findstr bekomme ich (Bevorzugt) nicht weg.)
Die IP-Adressen sind im Vorfeld nicht bekannt, auch die Anzahl könnte variieren.
Wie bekommen ich die IP-Adressen in Variablen in der Form:
%%a.%%b.%%c.%%d ?
Vg Volker01
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 205656
Url: https://administrator.de/contentid/205656
Ausgedruckt am: 22.11.2024 um 17:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo Volker01,
so sollte das funktionieren -> Roh-Ips in Liste.txt und dann diesen Schritt ausfuehren:
FOR /f "delims=" %%I IN (Liste.txt) DO (
SET STR0=%%I
SETLOCAL EnableDelayedExpansion
SET STR1=!STR0:IPv4-Adresse . . . . . . . . . . : =!
SET STR2=!STR1:^(Bevorzugt^)=!
FOR /F "tokens=1-4 delims=." %%A IN ("!STR2!") DO @echo %%A %%B %%C %%D
ENDLOCAL
)
Gruss
VolkerW
so sollte das funktionieren -> Roh-Ips in Liste.txt und dann diesen Schritt ausfuehren:
FOR /f "delims=" %%I IN (Liste.txt) DO (
SET STR0=%%I
SETLOCAL EnableDelayedExpansion
SET STR1=!STR0:IPv4-Adresse . . . . . . . . . . : =!
SET STR2=!STR1:^(Bevorzugt^)=!
FOR /F "tokens=1-4 delims=." %%A IN ("!STR2!") DO @echo %%A %%B %%C %%D
ENDLOCAL
)
Gruss
VolkerW
Hallo Volker01,
in meinem ersten Vorschlag fehlt ein Leerzeichen hinter IPv4-Adresse, gemeiner Fehler, kaum zu sehen. Wenn du nur die Liste der IPs brauchst, kannst du dir die zweite FOR-Schleife sparen, so sieht's dann aus:
Noch einmal, zwischen Adresse und dem . müssen 2 Leerzeichen sein. So habe ich das eingefügt, doch "Vorschau erstellen" unterschlägt eins davon. Musst du also händisch hinzufügen, dann geht's.
Viel Erfolg
VolkerW
[Edit Biber] Codeformat. Macht es vielleicht leichter erkennbar. [/Edit]
in meinem ersten Vorschlag fehlt ein Leerzeichen hinter IPv4-Adresse, gemeiner Fehler, kaum zu sehen. Wenn du nur die Liste der IPs brauchst, kannst du dir die zweite FOR-Schleife sparen, so sieht's dann aus:
@ECHO OFF
IF EXIST Liste2.txt DEL Liste2.txt
FOR /f "delims=" %%I IN (Liste.txt) DO (
SET STR0=%%I
SETLOCAL EnableDelayedExpansion
SET STR1=!STR0:IPv4-Adresse . . . . . . . . . . : =!
SET STR2=!STR1:^(Bevorzugt^)=!
ECHO !STR2!>> Liste2.txt
::FOR /F "tokens=1-4 delims=." %%A IN ("!STR2!") DO ECHO %%A %%B %%C %%D
ENDLOCAL
)
Viel Erfolg
VolkerW
[Edit Biber] Codeformat. Macht es vielleicht leichter erkennbar. [/Edit]