maxophoni
Goto Top

IP-Adresse in Batch, CMD

Hallo,

ich möchte in einer Batch-Datei eine Variable einfügen, die nur die IP-Adresse anzeigt.
Dies funktioniert mittels ipconfig, doch dieser Befehl ist nicht der den ich benötige. Er zeigt zu viele Informationen und ich möchte die IP als Variable weiter verwenden.

Kennt dafür jemand eine Lösung?

MFG

Content-Key: 287283

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

Printed on: April 19, 2024 at 21:04 o'clock

Mitglied: 122990
122990 Nov 01, 2015 updated at 17:33:31 (UTC)
Goto Top
Bitte Suchfunktion benutzen ...
@echo off
for /f "tokens=2 delims==" %%a in ('wmic nicconfig where IPEnabled^=True get IPAddress /format:list ^| findstr /i "IPAddress"') DO set "IP=%%a"  
echo %IP%

G. Grexit
Member: Maxophoni
Maxophoni Nov 01, 2015 at 18:05:54 (UTC)
Goto Top
danke für die schnelle Antwort.

Aber die IP wird irgendwie nicht angezeigt.
Mitglied: 122990
122990 Nov 01, 2015 at 18:10:29 (UTC)
Goto Top
dann hast du mehrere Adapter aktiv und einen ohne IP Adresse. Dann musst du weiter einschränken welchen Adapter du auslesen willst.
Member: Maxophoni
Maxophoni Nov 01, 2015 at 18:19:34 (UTC)
Goto Top
Und das heißt? Ich habe schon länger damit ein Problem.
Mitglied: 122990
122990 Nov 01, 2015 updated at 18:23:47 (UTC)
Goto Top
Bitte die Ausgabe von "ipconfig /all" oder "wmic nicconfig get IPEnabled,IPAddress" posten , dann kann man dir weiterhelfen !

Ich habe schon länger damit ein Problem.
Womit ??
Mitglied: 122990
122990 Nov 01, 2015 updated at 18:30:15 (UTC)
Goto Top
Das geht auch, aber immer vorrausgesetzt du hast nur einen Adapter mit aktiver IP
@echo off
for /f "tokens=2 delims=:" %%a in ('ipconfig ^| findstr /i IPv4') do "set IP=%%a"  
echo %IP: =%
Ansonsten musst du spezifizieren welchen Adapter du auslesen willst, wie schon gesagt!

p.s. das ist alles in einer Batch auszuführen, direkt in der CMD eingegeben läuft das in der Form nicht, dort muss man nur einzelne Prozentzeichen für die Laufvariablen verwenden!
Member: Maxophoni
Maxophoni Nov 01, 2015 updated at 18:46:42 (UTC)
Goto Top
Ich hab es ausprobiert, wenn ich eine neue Batch-Datei erstelle, dann funktioniert es.
Aber wenn ich es in mein Programm einbinden will, dann geht es nicht mehr.
Woran könnte es liegen?

:IP
for /F "tokens=2 delims==" %%a in ('wmic nicconfig where IPEnabled^=True get IPAddress /format:list ^| findstr /i "IPAddress"') DO set "IP=%%a"

Das habe ich eingefügt.

Ich möchte dann später diese Variable weiter verwenden.
Mitglied: 114757
114757 Nov 01, 2015 updated at 18:51:33 (UTC)
Goto Top
Dein Sprungpunkt hat den selben Namen wie die Variable face-wink, das solltest du beheben ....

gruß jodel32
Member: Maxophoni
Maxophoni Nov 01, 2015 at 18:54:12 (UTC)
Goto Top
Ja das habe ich auch eben festgestellt, doch nun funktioniert es immer noch nicht.
Mitglied: 114757
114757 Nov 01, 2015 updated at 18:58:19 (UTC)
Goto Top
doch nun funktioniert es immer noch nicht.
Funktioniert nicht ist keine Antwort in einem Administrator_Forum!
Dann machst du in deinem Skript noch mehr falsch was wir hier mit unseren Glaskugeln am Sonntagabend leider nicht sehen können !

Also Skript posten, aber bitte mit Codetags !!!
Member: Maxophoni
Maxophoni Nov 01, 2015 updated at 19:46:35 (UTC)
Goto Top
Oder muss ich den Sprungpunkt anders einbauen?

Es funktioniert nachdem ich diesen Befehl aufgerufen habe, dann erst wird die Variable angezeigt.
Sie funktioniert dann solange, bis ich CMD wieder schließe. Beim erneuten starten des Programmes gibt es wieder dasselbe Problem.

Aber das ist eigentlich meine Absicht, ich habe nur zum Testen einen Befehl mit goto verwendet und den IP-Sprungpunkt somit geöffnet.
Dies soll aber sonst nicht so sein.

Ich möchte das CMD die IP schon automatisch durch mein Programm herausfindet und dann soll nur die Variable angezeigt werden.

Die Variable %IP% habe ich so:

echo IP-address: /%IPA%/
Member: Pjordorf
Pjordorf Nov 01, 2015 at 22:02:28 (UTC)
Goto Top
Hallo,

Zitat von @Maxophoni:
Sie funktioniert dann solange, bis ich CMD wieder schließe.
Works as designed

Beim erneuten starten des Programmes gibt es wieder dasselbe Problem.
Auch normal, sofern "wieder dasselbe Problem" deine Fehlerbeschreibung oder Fehlermeldung sein soll.

Dies soll aber sonst nicht so sein.
Was bitteschön ist so nicht gewollt?

Ich möchte das CMD die IP schon automatisch durch mein Programm herausfindet und dann soll nur die Variable angezeigt werden.
Und wo ist das Problem? Ach ja, du willst deinen Code nicht veröffentlichen oder genaue Fehlermeldungen nennen. Nun, wenn das alles so Geheim ist....

Die Variable %IP% habe ich so:
echo IP-address: /%IPA%/
Seit wann sind die gleich? %IP% ungleich %IPA%

Und stelle dein Code bitte mit Code tags hier rein. Formatting instructions in the posts

Gruß,
Peter