BlackVictory Geschrieben 10. Dezember 2013 Geschrieben 10. Dezember 2013 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
BlackVictory Geschrieben 10. Dezember 2013 Autor Geschrieben 10. Dezember 2013 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???
BlackVictory Geschrieben 10. Dezember 2013 Autor Geschrieben 10. Dezember 2013 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...
Crash2001 Geschrieben 10. Dezember 2013 Geschrieben 10. Dezember 2013 Wieso schreibst du es in den .NET-Bereich, wenn es sich um Bacth-Programmierung handelt? :confused
BlackVictory Geschrieben 10. Dezember 2013 Autor Geschrieben 10. Dezember 2013 kann das bitte jemand in den Richtigen Bereich verschieben, bevor ich ein neues Thema aufmache... Danke schon mal
Crash2001 Geschrieben 10. Dezember 2013 Geschrieben 10. Dezember 2013 (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 10. Dezember 2013 von Crash2001
RipperFox Geschrieben 10. Dezember 2013 Geschrieben 10. Dezember 2013 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
BlackVictory Geschrieben 10. Dezember 2013 Autor Geschrieben 10. Dezember 2013 Danke werde es gleich ausprobieren
BlackVictory Geschrieben 10. Dezember 2013 Autor Geschrieben 10. Dezember 2013 @ 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...
Crash2001 Geschrieben 10. Dezember 2013 Geschrieben 10. Dezember 2013 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.
BlackVictory Geschrieben 10. Dezember 2013 Autor Geschrieben 10. Dezember 2013 Der sagt mir das der angegeben Pfad nicht gefunden werden kann :.
BlackVictory Geschrieben 10. Dezember 2013 Autor Geschrieben 10. Dezember 2013 ok vergiss es... *mit dem Kopf gegen die Wand haut* mein Fehler... Danke für deine Hilfe, hat super geklappt
BlackVictory Geschrieben 10. Dezember 2013 Autor Geschrieben 10. Dezember 2013 Aber das kann ich jetzt nicht abändern, dass ich auch die Gateway raus bekomme oder die Subntzmaske, oder ?
Crash2001 Geschrieben 10. Dezember 2013 Geschrieben 10. Dezember 2013 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
BlackVictory Geschrieben 11. Dezember 2013 Autor Geschrieben 11. Dezember 2013 (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 11. Dezember 2013 von BlackVictory
Crash2001 Geschrieben 11. Dezember 2013 Geschrieben 11. Dezember 2013 (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 11. Dezember 2013 von Crash2001
BlackVictory Geschrieben 11. Dezember 2013 Autor Geschrieben 11. Dezember 2013 Warum bekomme ich ein Syntaxfehler ?
Crash2001 Geschrieben 11. Dezember 2013 Geschrieben 11. Dezember 2013 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.
BlackVictory Geschrieben 11. Dezember 2013 Autor Geschrieben 11. Dezember 2013 ich habe das in einer .bat datei... Ausgabe ist Ihre IPv4 Adressen sind: Syntaxfehler und dann wird sofort das Fenster geschlossen, auch wenn ich ein Pause reinschreibe...
Crash2001 Geschrieben 11. Dezember 2013 Geschrieben 11. Dezember 2013 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.
BlackVictory Geschrieben 11. Dezember 2013 Autor Geschrieben 11. Dezember 2013 hmm... ich habe eignetlich auch nur windows 7 Enterprise 64 Bit :.
Crash2001 Geschrieben 11. Dezember 2013 Geschrieben 11. Dezember 2013 Also ich habe Win 7 Prof 64 Bit. Sollte also gleich sein eigentlich. Sicher, dass das 1:1 kopiert ist und nicht am Ende was fehlt?
BlackVictory Geschrieben 11. Dezember 2013 Autor Geschrieben 11. Dezember 2013 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.
Crash2001 Geschrieben 11. Dezember 2013 Geschrieben 11. Dezember 2013 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.
Empfohlene Beiträge