Möchte man regelmäßig seine öffentlichen IP Adresse ermitteln und diese in einer Datei Protokollieren, so kann man einfach folgendes Windows Batch-Script verwenden:

echo off 
cls

::
:: ** Dies Script ermittelt die externe IP, sofern man hinter einem NAT Router sich befindet,
:: ** und schreibt diese in die Datei aus der Variablen "report"

:: **** ein paar Umgebungsvariablen zum anpassen
:: **
::
set report=c:\temp\oeff-ip.txt
set curlpath=curl.exe

:: **********************************************************************************************
:: **** Ab hier nichts mehr anpassen
:: **********************************************************************************************
::

:: Datum und Uhrzeit ermitteln und in Variablen sichern
for /f "tokens=1-3" %%a in ('cmd.exe /c "echo. | time"') do if %%a == Aktuelle set time=%%c
for /f "tokens=1-4" %%a in ('cmd.exe /c "echo. | date"') do if %%a == Aktuelles set date=%%d

echo|set /p="%date% - %time% - IP = " >> %report%
%curlpath% -s http://ip.tx2.net >> %report%
echo. >> %report%

Wer mag kann die Variable report entsprechend anpassen und mittels Aufgabenplanung das Script regelmäßig ausführen lassen.