mpi 0 Geschrieben 17. Oktober 2014 Autor Melden Geschrieben 17. Oktober 2014 Hallo Jan, vielen Dank für den Tipp. Das klappt im Schritt eins sehr gut. Allerdings krieg ich die IP wieder nicht sauber in die Variable. Irgendwie schnall ich das mit dem entfernen einzelner Zeichen nicht. Ist aber auch schon ein sehr langer Tag heute. :( Das ist meine Ausgabe {"10.220.194.79"} Alles bis auf die IP müsste noch abgeschnitten werden..
NilsK 3.045 Geschrieben 18. Oktober 2014 Melden Geschrieben 18. Oktober 2014 Moin, wmic erfordert lokale Adminrechte. Dürfte für den Zweck ungeeignet sein. Ganz ehrlich, mit einer FOR-Schleife und den Fragmenten, die ich hier schon genannt habe, bekommt man das hin. Der Trick ist: Mit FIND filterst du aus der Ausgabe von ipconfig die Zeile, die du brauchst. Mit FOR isolierst du dann den Teil nach dem Doppelpunkt. Versuch es einfach mal. Gruß, Nils
lefg 276 Geschrieben 18. Oktober 2014 Melden Geschrieben 18. Oktober 2014 (bearbeitet) Eine Möglichkeit ist for /f "tokens=1 Delims=," %%i in ('wmic path win32_networkadapterconfiguration get ipaddress^|findstr /C:".37"') do set var=%%i set var=%var:~1% set var=%var:"=% set var=%var: =% echo %var% pause Mit set var=%var:~1% beginnt das Set, die Auswertung nach dem ersten Zeichen, dem führenden <. Mit set var=%var:"=% werden die Anführungszeichen duch Nichts ersetzt, es entsteht keine Leerstelle. Sollte sich am Ende der Zeichenkette oder sonstwo ein Space befinden, wird dieses entfernt mit set var=%var: =% Ich bin selbst nicht begeistert von dem Konstrukt, ich hätte gerne angewendet %~I, zum Entfernen umschliessender Anführungszeichen und hätte auch gerne < als Delimeter verwendet. Ich krieg es nicht hin. Ich habs jetzt mal so geschnitten, einmal vorne und dann hinten set var=%var:~2,-2% bearbeitet 18. Oktober 2014 von lefg
daabm 1.428 Geschrieben 18. Oktober 2014 Melden Geschrieben 18. Oktober 2014 wmic erfordert lokale Adminrechte. Dürfte für den Zweck ungeeignet sein. Korrektur: wmic läuft mit Standardbenutzerrechten seit Vista problemlos. for /f "delims=:" %i in ('ipconfig ^| find /i "ipv4" ^| find /i "10.220"' ) do set IP=%j & set ip=%ip: =% Geht in deutsch und englisch und liefert in %IP% die gefundene IP-Adresse ohne Leerzeichen zurück. Für Batchverwendung dann bitte %%i und %%j statt %i und %j. wmic wäre zwar auch elegant, wird aber kompliziert, wenn man erst noch die IPv6-Adresse herausoperieren muß, die ja vorne oder hinten stehen kann. Oder auch ganz fehlt :cool:
NilsK 3.045 Geschrieben 18. Oktober 2014 Melden Geschrieben 18. Oktober 2014 Moin, schau an, dann sollte ich meine Vorbehalte gegenüber WMIC vielleicht mal überdenken. ;) Den FIND-Filter für IPv4 kannst du dir aber eigentlich sparen, wenn du sowieso nach einem IPv4-Adressfragment filterst, oder? Aber ich denke, das ginge dann schon in Richtung Haarspalterei ... jedenfalls eine sehr hübsche Zeile, die da entstanden ist. :D Gruß, Nils
daabm 1.428 Geschrieben 18. Oktober 2014 Melden Geschrieben 18. Oktober 2014 Nils, da hast Du teilweise recht :cool: Ich will ja nicht aus Versehen das Gateway erwischen...
lefg 276 Geschrieben 19. Oktober 2014 Melden Geschrieben 19. Oktober 2014 (bearbeitet) for /f "tokens=12 Delims=: " %%i in ('ipconfig ^| findstr /i "ipv4-adresse" ^| findstr /i /C:".32"' ) do set ip=%%i echo %ip% pause bearbeitet 19. Oktober 2014 von lefg
NilsK 3.045 Geschrieben 19. Oktober 2014 Melden Geschrieben 19. Oktober 2014 Moin, lefg, deine Lösung hat den Nachteil, dass sie nur in einem deutschen Windows funktioniert. Der Code von Martin dürfte sogar einigermaßen sprachneutral sein. Gruß, Nils
lefg 276 Geschrieben 20. Oktober 2014 Melden Geschrieben 20. Oktober 2014 Moin Nils, es ist nicht als Lösung gedacht, es ist ein Beispiel.
NilsK 3.045 Geschrieben 20. Oktober 2014 Melden Geschrieben 20. Oktober 2014 Moin, :) passt scho. Ich wollte auch eher die Mitlesenden auf den Unterschied hinweisen. Gruß, Nils
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden