Batch soll überprüfen ob sich IP geändert hat
Hallo Community,
ich möchte gerne mit einer batch überprüfen ob ich einen neue Internet IP bekommen habe
1. überprüfe welche IP man hat
nach einer gewissen zeit (oder nach ein paar anderen befehlen die in der zwichenzeit laufen) (Goto)
2. überprüffen ob die aktuelle IP noch stimmt oder eine neue existiert
- noch gleich: nach gewisser zeit nochmal prüfen oder mit anderen befehlen weitermachen (Goto)
- nicht mehr gleich: meinen angegebenen befehl folgen
Mir ist es eigendlich egal ob eine datei erstellt wird mit der IP oder ein "set %OLTIP%=( in punkt 1 überprüfte IP )" um den vergleich in punkt 2 zu starten.
MfG TheCranky
ich möchte gerne mit einer batch überprüfen ob ich einen neue Internet IP bekommen habe
1. überprüfe welche IP man hat
nach einer gewissen zeit (oder nach ein paar anderen befehlen die in der zwichenzeit laufen) (Goto)
2. überprüffen ob die aktuelle IP noch stimmt oder eine neue existiert
- noch gleich: nach gewisser zeit nochmal prüfen oder mit anderen befehlen weitermachen (Goto)
- nicht mehr gleich: meinen angegebenen befehl folgen
Mir ist es eigendlich egal ob eine datei erstellt wird mit der IP oder ein "set %OLTIP%=( in punkt 1 überprüfte IP )" um den vergleich in punkt 2 zu starten.
MfG TheCranky
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 151788
Url: https://administrator.de/contentid/151788
Ausgedruckt am: 24.11.2024 um 18:11 Uhr
4 Kommentare
Neuester Kommentar
moin,
also für solche Fälle hat sich das preisgeben seiner Infrastruktur als äußert sinnvolle Massnahme erwiesen.
Nein ist es sicherlich nicht, denn 1 bedeutet - das script muß in eine Datei schreiben dürfen können - zwei bedeutet es muß eine Systemvariable gesetzt werden oder die batch wird zum dauerläufer und damit auch anfälliger für alle möglichen Probleme ....
Gruß
also für solche Fälle hat sich das preisgeben seiner Infrastruktur als äußert sinnvolle Massnahme erwiesen.
Mir ist es eigendlich egal ob eine datei erstellt wird mit der IP oder ein "set %OLTIP%=( in punkt 1 überprüfte IP )" um den vergleich in punkt 2 zu starten.
Nein ist es sicherlich nicht, denn 1 bedeutet - das script muß in eine Datei schreiben dürfen können - zwei bedeutet es muß eine Systemvariable gesetzt werden oder die batch wird zum dauerläufer und damit auch anfälliger für alle möglichen Probleme ....
Gruß
Hallo TheCranky!
Zu Punkt 1: Externe IP ermitteln und in Datei Speichern
[Edit] ... bzw als Ansatz:
Bitte darauf achten, dass am Ende der Zeile 17 kein Leerzeichen stehen darf!
[/Edit]
Grüße
bastla
Zu Punkt 1: Externe IP ermitteln und in Datei Speichern
[Edit] ... bzw als Ansatz:
@echo off & setlocal
set "Log=D:\IP.txt"
set ExtIPOld=-
if exist "%Log%" set /p ExtIPOld=<"%Log%"
set URL=http://checkip.dyndns.com/
set G=%temp%\GetHTML.vbs
echo On Error Resume Next:Set Http=CreateObject("WinHttp.WinHttpRequest.5.1"):Http.Open "GET",WScript.Arguments(0),False:Http.Send:Q=Split(Http.ResponseText,":")(1):WScript.Echo Trim(Split(Q,"<")(0))>%G%
:Check
set ExtIP=
for /f %%i in ('cscript //nologo %G% "%URL%"') do set "ExtIP=%%i"
if not defined ExtIP goto :NichtBekannt
if %ExtIP%==%ExtIPOld% goto :NochGleich
>"%Log%" echo %ExtIP%
set "ExtIPOld=%ExtIP%"
::
:: Aktionen für veränderte IP
::
goto :Check
:NochGleich
::
:: Aktionen für unveränderte IP
::
goto :Check
:NichtBekannt
echo %date% %time:~,8% Externe IP konnte nicht ermittelt werden.
::
:: Aktionen für IP nicht bekannt
::
goto :Check
[/Edit]
Grüße
bastla