Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

und jetzt bitte nicht mit

ipconfig | find "IPv4-Adresse"

kommen, ausser ihr habt da die Möglichkeit nur die IP-Adresse Anzeigen zu lassen, oder die letzten 20 Zeichen ??? bzw halt die letzten 15 Zeichen???

Geschrieben

Bringt mir leider nicht weiter, weil ich nicht mit VB arbeite, sondern mit einer .bat datei...

es soll halt folgendes Ausgegeben werden

echo Ihr aktuelle IP-Adresse ist %ipv4%

IPv4 muss halt noch gefüttert werden...

Geschrieben (bearbeitet)

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
Geschrieben

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

Geschrieben

@ Crash2001

ich mus mich leider total dumm anstellen. Ist mein erster Tag das ich es versuche ein Batch zu schreiben.

Wie kann ich das in der Kommandozeile ausgeben lassen ?

Versteh ich noch nicht so ganz...

Geschrieben

Das untere Beispiel gibt es direkt in der Kommandozeile aus.

Pack es einfach in eine Textdatei, benenn sie in test.bat um und führe sie einfach mal aus.

dann geht ein CMD-Fenster auf und du bekommst als Ausgabe deine IP-Adresse.

Geschrieben

Nope - damit nicht. Könntest aber das von Ripperfox angegebene anpassen.

achja, wenn du willst, dass das fenster offen bleibt, einfach noch ein pause in der letzten Zeile drunter schreiben

Geschrieben (bearbeitet)
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
Geschrieben (bearbeitet)
[...]
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
Geschrieben

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.

Geschrieben

Was für ein Windows nutzt du denn?

Eventuell geht es bei bestimmten Versionen (vielleicht Windows 8 / 8.1) nicht.

Bei mir unter Windows 7 geht es problemlos.

Geschrieben

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.

Geschrieben

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.

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...