In diesem Beitrag soll es darum gehen, wie man eine IPv4-Adresse per Batch-File auslesen kann.

Wer öfter mit Windows zu tun hat, kommt irgendwann mal an dem Punkt an dem man in einem Skript die IP-Adresse benötigt.

Das kann vorkommen wenn man zum Beispiel einen kleinen Server hat, welcher hinter einer dynamischen IP steht und auf diesen mit einem DynDNS-Dienst zugreifen möchte. Zwar bieten die aktuellen Router inzwischen meistens die Möglichkeit einen DynDNS-Dienst zu konfigurieren aber sobald das zu erreichende System über einen mobilen Hotspot mit dem Internet verbunden ist, gestaltet sich das Unterfangen etwas schwieriger. Das hat den Grund, das bei mobilen Hotspots keine genaue IPv4 vergeben wird, sondern nur die des Einwahlpunktes der Funkzelle. Dazu aber mehr im Artikel zum auslesen der IPv6-Adresse per Batch und zur Einrichtung von dynv6.com.

Der Code

Mit folgendem Code erhält man die IPv4 in eine Variable und gibt diese auf der Kommandozeile aus:

@echo off
for /f "tokens=1* delims=: " %%A in (
  'nslookup myip.opendns.com. resolver1.opendns.com 2^>NUL^|find "Address:"'
) do set extIP=%%B


echo Die externe IP lautet: %extIP%

Das @echo off wird genutzt, damit nicht jeder Befehl auf die Kommandozeile ausgegeben wird. Anschließend definieren wir eine for-Schleife mit dem Parameter /f . Diese führen wir genau einmal aus und zwar auf das Ergebnis des nslookup-Kommandos welches mit find noch durchsucht wird. Da wir genau ein Ergebnis bekommen, welches nicht weiter gefiltert werden muss, schreiben wir das Ergebnis im do-Part direkt in die Variable extIP.

Die Variable kann nun weiter genutzt werden oder wie im Beispiel einfach für eine Ausgabe verwendet werden.

Das Ergebnis

Im Terminal sieht das ganze wie folgt aus:

Ausgabe der IPv4-Adresse
IPv4-Adresse in der CMD

Die Verwendung

Um das ganze nach zu bauen, legt euch eine neue Datei mit dem Namen ipv4.bat an. Öffnet diese Datei mit einem Editor eurer Wahl. Beim ersten öffnen einer .bat-Datei fragt Windows womit diese geöffnet werden soll, wählt hier am besten den Editor.

Kopiert den Code von oben in die Datei und speichert diese.

Anschließend die Kommandozeile mit [Win+R] und tipt dort cmd ein.

Navigiert zum Speicherort eurer Datei und führt diese mit dem Befehl ipv4.bat (bzw. eurem gewählten Dateinamen) aus. Nun erhaltet Ihr eure öffentliche IP ausgegeben.

Ich hoffe das dieser erste kleine Artikel hilfreich ist. In absehbarer Zeit folgt noch einer zum auslesen der Iv6-Adresse und zur Verwendung des kostenlosen DynDNS-Dienstes dynv6.com. Dieser erlaubt es, dynamische IPv6 mit einer Adresse zu verknüpfen.

Solltet Ihr Fragen haben, hinterlasst einen Kommentar oder nutzt das Kontaktformular.