Jump to content

IP Adresse in batch Variable übernehmen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen.

 

Ich stehe vor folgendem Problem:

 

Der Server hat n IP Adressen

Bsp:

 

192.168.0.1 (intern)

10.10.10.1 (mgmt)

10.200.x.x (backup)

 

 

Ich möchte nun NUR die IP Adresse 10.200.x.x in eine Variable übernehmen.

 

Mit dem Befehl

ipconfig | findstr /B /C:"   IPv4 Address. . . . . . . . . . . : 10.220.">c:\wsus\ip.txt

krieg ich sie zumindest schon soweit raus:

 

   IPv4 Address. . . . . . . . . . . : 10.200.3.55
 

Ich will nur die IP 10.200.3.55 in eine variable übernehmen.

wie krieg ich das IPv4 Address. . . . . . . . . . . : weg?

 

Würd mich über den berühmten Wink mit dem Zaunpfahl freuen.

Grüße

mpi

bearbeitet von mpi
Link zu diesem Kommentar

Hi,

 

muss es eine Batch sein? Wäre Powershell eine Alternative?

 

 

$CurrentIPs = @();
 
get-wmiobject win32_networkadapterconfiguration | ? { $_.IPAddress -ne $null } | Sort-Object IPAddress -Unique | % {
   $CurrentIPs+=$_.IPAddress
}

 

Damit hast du schonmal alle IP Adresse des Servers im Array CurrentIPs.

 

Gruß

Jan

Link zu diesem Kommentar

Hallo

wenn ich das

FOR /F "tokens=* delims= " %%A IN ('ipconfig') do echo %%A

richtig verstehe - muss die IP dann immer an derselben Stelle stehen?

Dem ist aber nicht so.

 

Die IP fängt immer mit 10.220. an.

Ansonsten sind sowohl OS, als auch die Anzahl der Netzwerkkarten und deren Reihenfolge nicht fix.

 

Ich muss also in der Ausgabe von ipconfig nach der Zeile suchen in der 10.220 vorkommt.

dann alles vor der eigentlichen IP ignorieren und den String 10.220.x.x als variable übernehmen.

 

Mein gedachter Schritt 1 war die betreffende Zeile erstmal in ein txt file zu legen

ipconfig | findstr /B /C:"   IPv4 Address. . . . . . . . . . . : 10.220.">c:\wsus\ip.txt

Das klappt soweit auch

 

Der Ihnhalt von IP.txt sieht so aus

   IPv4 Address. . . . . . . . . . . : 10.220.3.55

Aber wie ich nun den hinteren Teil der Zeile in eine Variable einlesen will,

finde ich nichts mehr was hier zieht.

 

Sofern ich nur immer einen Wert pro Zeile habe klappts einlesen wunderbar.

denn das Einlesen von Variablen zeilenweise krieg ich auch hin.

Link zu diesem Kommentar

Hallo Nils

Bitte entschuldige, ich verstehs nicht....

ping -n 1 %computername% liefert mir die ersten IPv6 Adresse retour ????

 

Wenn ich nun diesen Befehl versuche

for /f "Tokens=2 Delims=[] skip=1" %%i in ('ping -n 1 %computername%') do set IPAdress=%%i

erhalte ich folgenden Fehler

C:\Users\Administrator>for /f "Tokens=2 Delims=[] skip=1" %%i in ('ping -n 1 %co
mputername%') do set IPAdress=%%i
%%i was unexpected at this time.
Link zu diesem Kommentar

Moin,

 

insbesondere bei FOR gibt es einen Unterschied zwischen der Verwendung im Batch und auf der Kommandozeile. Direkt im CMD-Fenster musst du ein einzelnes Prozentzeichen angeben, im Batch zwei.

 

Wenn du sichergehen willst, dass du die IPv4-Adresse bekommst, dann erweitere das ping-Kommando um den Schalter -4:

for /f "Tokens=2 Delims=[] skip=1" %%i in ('ping -4 -n 1 %computername%') do set IPAdress=%%i

Gruß, Nils

Link zu diesem Kommentar

Hallo Nils,

Ah ja... DANKE da lag mein Denkfehler.

Jetzt bekomm ich die erste IPv4.. das passt soweit.

Aber ich brauch aus den vorhandenen, welche unterschiedlich viele sein können und in unterschiedlicher Reihenfolge immer die 10.220.

 

Hast du dazu evt. auch eine Idee?

 

Danke

 

@lefg

auch hier muss die ip an fester stelle stehen, was sie nicht tut.

bearbeitet von mpi
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...