En fullösning som säkert har nån bug och garanterat kan göras snyggare ;).
@echo off
ipconfig > ipconfig.txt
if exist old-ipconfig.txt goto find
ipconfig > old-ipconfig.txt
:find
findstr /C:"IP Address" ipconfig.txt > current-ip.txt
findstr /C:"IP Address" old-ipconfig.txt > old-ip.txt
fc current-ip.txt old-ip.txt
cls
if not errorlevel 1 goto end
echo "New IP address detected!"
pause
:end
del old-ip.txt
del old-ipconfig.txt
del current-ip.txt
ren ipconfig.txt old-ipconfig.txt
Om man kör en icke-engelskspråkig Windowsversion måste man ändra lite i findstr (på svenskt Windows står det "IP-adress" har jag för mig).
Vilket IP-nummer är det du vill ha tag i? Din lokala LAN-adress eller din externa? Om du har en router (och du vill ha ditt externa), så blir det lite krångligare, vetdu.
Äsch, det var ju faktiskt hur som helst trevligt att kod lite på kvällskvisten. Jag satte ihop ett litet program, som kollar en specifik nätverksadapters tilldelade IP-adress. Det snygga är att den faktiskt kollar adapterns alla adresser och ser ifall det blir någon skillnad på någon av dem, om du har fler adresser på någon av dem.
Du måste dock ange adapters konfigurations-index (Windows index typ), för att den ska kunna identifiera adaptern. Detta index får du genom att köra filen "adapters.vbs", som visar både adapterns namn och dess index. Skapa sedan en genväg till filen "IPCheck.exe" och ange index'et som kommandoparameter. Alltså; din genväg: "c:/baluba/IPCheck.exe N", där N är detta index.
Nu kommer du få köra programmet en gång, så att adressen ska sparas i registret och nästa gång den körs (och om adressen har ändrats därimellan), så kommer det komma upp en popup, som även visar den föregående adressen såväl som den nya.