Zum Inhalt springen

IP Adresse anzeigen lassen über CMD


BlackVictory

Empfohlene Beiträge

Hallo Community

wie kann ich mir NUR meine IP-Adresse anzeigen lassen ?

also nicht ipconfig, da mir da ja allerhalnd angezeigt wird, ich möchte nur meine IP-Adresse angezeigt bekommen.

genau das gleiche bräuchte ich für die Subnetzmaske und den Gateway.

Wäre um Hilfe sehr dankbar.

Danke schon mal im Voraus.

Gruß Wolfi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Für Batch hätte ich eine Lösung.

@echo off & cls


Set "logFile=c:\temp\%Computername%.log"


::# Get IP Address

for /f "skip=1 tokens=2 delims=[]" %%* in (

   'ping.exe -n 1 -4 %Computername%') Do (set "IP=%%*")


>>"%logFile%" (

   echo\%IP% )
Das schreibt dir die IP-Adresse in das oben angegebene Logfile. Könnte man natürlich auch ausgeben lassen oder so. Wenn du die IPV6-Adresse haben willst, einfach das -4 weglassen oben beim ping-Kommando. Damit es entsprechend ausgegeben wird, wäre das hier dann:
@echo off & cls


for /f "skip=1 tokens=2 delims=[]" %%* in (

   'ping.exe -n 1 -4 %Computername%') Do (set "IP=%%*")


  echo "Ihre IPv4-Adresse ist "%IP% 

Bearbeitet von Crash2001
Link zu diesem Kommentar
Auf anderen Seiten teilen

Man bedenke, dass ein Rechner bzw. jede Schnittstelle mehrere IPs haben kann. Bei IPv6 ist dies sogar Standard.

Hier gibts eine gute "Komplettlösung":

How do I get the IP address into a batch-file variable? - Stack Overflow

z.B.:

@echo off
set ip_address_string="IPv4-Adresse"
echo Ihre IPv4 Adressen sind:
for /f "usebackq tokens=2 delims=:" %%f in (`ipconfig ^| findstr /c:%ip_address_string%`) do echo %%f[/PHP]

Ich würde ggf. die Ausgabe von ROUTE PRINT parsen wollen, um die IP über die das Standardgateway erreicht wird zu bekommen.

Grüße

Ripper

Link zu diesem Kommentar
Auf anderen Seiten teilen

Man bedenke, dass ein Rechner bzw. jede Schnittstelle mehrere IPs haben kann. Bei IPv6 ist dies sogar Standard.

Hier gibts eine gute "Komplettlösung":

How do I get the IP address into a batch-file variable? - Stack Overflow

z.B.:

@echo off
set ip_address_string="IPv4-Adresse"
echo Ihre IPv4 Adressen sind:
for /f "usebackq tokens=2 delims=:" %%f in (`ipconfig ^| findstr /c:%ip_address_string%`) do echo %%f[/PHP]

Ich würde ggf. die Ausgabe von ROUTE PRINT parsen wollen, um die IP über die das Standardgateway erreicht wird zu bekommen.

Grüße

Ripper

ALso bei dem Befehl bekomme ich eine Syntaxfehler.

Ich habe mal versucht für mich den Befehl auseinanderzunehmen...

[b]@echo off[/b]

ist klar

[b]set ip_address_string="IPv4-Adresse"[/b]

ist auch klar, es wird eine Varible gesetzt mit dem Inhalt "IPv4-Adresse"

[b]echo Ihre IPv4 Adressen sind:[/b]

ist auch klar, Ausgabe der Zeile in der CmdBox

[b]for /f "usebackq tokens=2 delims=:" %%f[/b]

damit kann ich leider garnichts anfangen, aber mit for /? komm ich leider nicht weiter

[b]in('ipconfig | findstr ^/c:%ip_address_string%')[/b]

ist soweit auch klar, das Command funktioniert schon mal einzelnd in der CMD. Das "Hütchen" wurde von mir hinter die Pipe gelgt, weil es sonst ein Fehler in dem Befehl "ipconfig" verursacht

[b]do echo %%f[/b]

hier weiß ich leider nicht was das "%%f" bedeutet. Oben wird es schon mal erwähnt, weiß aber leider nicht was %% vor einem Buchstaben bedeutet.

Ich stell mich warscheinlich ziemlich dumm an und entschuldige mich schon mal für die Fragen, aber ich muss sowas kappieren. Nur aus dem Internet raus schreiben bringt mich ja nicht weiter.

Danke schon mal im Voraus

Bearbeitet von BlackVictory
Link zu diesem Kommentar
Auf anderen Seiten teilen

[...]
for /f "usebackq tokens=2 delims=:" %%f in('ipconfig | findstr ^/c:%ip_address_string%')

Heisst quasi "Für alle Zeilen, auf die das Findstring-Kriterium zutrifft soll dieses jeweils beim Zeichen ":" getrennt und in einen seperaten Token gespeichert werden. Dann soll jeweils Token 2 ausgegeben werden."

Ein Token ist also quasi ein Teil des Strings, das durch das entsprechende Trennzeichen separiert wird.

Klick mich

Bearbeitet von Crash2001
Link zu diesem Kommentar
Auf anderen Seiten teilen

Versuchst du es als .bat-Datei auszuführen, oder direkt in der Kommandozeile?

Welchen Syntaxfehler bekommst du? Diesen?

"%%f" kann syntaktisch an dieser Stelle nicht verarbeitet werden.

Wenn ich das Ganze in eine .bat-Datei packe und dann ausführe, funktioniert es ohne Syntaxfehler. Wieso das so ist, weiß ich aber auch nicht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

also ich habe es jetzt noch einmal kopiert... komischerweiße geht es jetzt :) warscheinlich habe ich entweder gleich was geändert oder ich habe einfach vergessen was zu kopieren/falsch kopiert.

Jetzt noch meine Frage, wie kann ich die IP-Adresse in einer Variable speichern? also ich mag sie nicht mit "do echo %%f" ausgeben, sondern in einer Variable speichern.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sollte ausreichen, wenn du stattdessen dann

do set "IP=%%f"

schreibst.

Damit solltest du die IP-Adresse in die Variable IP schreiben.

Aufpassen musst du aber, wenn die entsprechende Textstelle, nach der du suchst, mehrmals vorkommt, denn dann würde er die Variable so lange überschreiben, bis der letzte gefundene Wert drin steht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Gast
Dieses Thema wurde nun für weitere Antworten gesperrt.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...