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-ID: 73963

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

Ausgedruckt am: 23.11.2024 um 00:11 Uhr

miniversum
miniversum 20.11.2007 um 09:37:00 Uhr
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
Nowologix
Nowologix 20.11.2007 um 15:31:59 Uhr
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
bastla
bastla 20.11.2007 um 17:25:15 Uhr
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
Biber
Biber 23.11.2007 um 07:59:43 Uhr
Goto Top
@Nowologix

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

Bitte um Feedback.

Danke
Biber
Nowologix
Nowologix 26.11.2007 um 23:56:13 Uhr
Goto Top
Hab ihn als gelöst markiert...

Vielen Dank nochmal =)