nowologix
Goto Top

LAN-IP in Variable ?

Hi =)

Ich will umbedingt die LAN IP in eine variable setzen und die letzte stelle entfernen...
Also ich hab schon so in etwa ein prinzip aber......:

ipconfig
find /I "standar"
set neu=%variable:~10,-1%
echo %neu%


ich weis diese 4 Zeilen dort oben sind jetzt erstmal zukunftsmusik.
Ich bin mir noch nichtmal im klaren wie ich die ganzen variablen da übergebe...
Aber die theorie stimmt denke ich...

Mit IPCONFIG die ipconfiguration aufrufen.
Dann die zeile des standart gateways auslesen,
10 zeichen nach vorne springen (ich sind mehr aber..) dann die letzte zahl abschneiden.

im endeffeckt will ich hieraus:

Windows-IP-Konfiguration


Ethernetadapter LAN-Verbindung:

Verbindungsspezifisches DNS-Suffix:
IP-Adresse. . . . . . . . . . . . : 192.168.1.6
Subnetzmaske. . . . . . . . . . . : 255.255.255.0
Standardgateway . . . . . . . . . : 192.168.1.1

"192.168.1." heraus bekommen...

kann mir jemand helfen ? :- /


VIelen Dank
Nowologix

Content-Key: 73963

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

Printed on: April 27, 2024 at 02:04 o'clock

Member: miniversum
miniversum Nov 20, 2007 at 08:37:00 (UTC)
Goto Top
Stimmt ja fast.
So sollte es gehn:
Die ganzte IP erhällst du mit:
FOR /F "tokens=2 delims=:" %n in ('ipconfig^|find /I "standar"') do set ip=%n
Die ersten drei stellen anschliesend mit:
Die ganzte IP erhällst du mit:
FOR /F "tokens=1,2,3 delims=. " %i in ('echo %ip%') do set iprange=%i.%j.%k.
Oder am stück als:
FOR /F "tokens=2 delims=:" %n in ('ipconfig^|find /I "standar"') do FOR /F "tokens=1,2,3 delims=. " %i in ('echo %n') do set iprange=%i.%j.%k.

In einer Batchdatei halt imemr %% statt %

miniversum
Member: Nowologix
Nowologix Nov 20, 2007 at 14:31:59 (UTC)
Goto Top
Vielen dank !!!
Aber bei dem befehl:
FOR /F "tokens=2 delims=:" %%n in ('ipconfig^|find /I "standar"') do set ipx= %%n

bekomm ich folgendes heraus:

C:\>FOR /F "tokens=2 delims=:" %n in ('ipconfig|find /I "standar"') do set ip=%n

:\>set ip= 192.168.1.1

:\>set ip=

C:\>echo IP:
IP:

also irgendwie überschreibt er mir die variable gleich wider...
als echo habe ich "echo %ip%" aber wie gesagt... die variable ist dann leer
Member: bastla
bastla Nov 20, 2007 at 16:25:15 (UTC)
Goto Top
Hallo Nowologix!

Um gleich den ersten gefundenen Wert auch behalten zu können:
set ipx=
FOR /F "tokens=2 delims=:" %%n in ('ipconfig^|find /I "standar"') do if not defined ipx set ipx=%%n  
echo %ipx%
Damit wird zwar nur das Symptom, aber nicht die Ursache (es wird noch eine zweite Zeile mit "standar" gefunden, ev wg 2. Netzwerkkarte?) behandelt - aber vielleicht genügt's ja.

Grüße
bastla
Member: Biber
Biber Nov 23, 2007 at 06:59:43 (UTC)
Goto Top
@Nowologix

Rückfrage:
Ist der Beitrag offen, beantwortet oder beides?

Bitte um Feedback.

Danke
Biber
Member: Nowologix
Nowologix Nov 26, 2007 at 22:56:13 (UTC)
Goto Top
Hab ihn als gelöst markiert...

Vielen Dank nochmal =)