rocknrolla
Goto Top

Batch script will die Variable nicht anerkennen

Ein Batchscript zur Verfolgung von ip Erreichbarkeit soll url mit Variable verknüpfen

Nabend,
ich habe ein Problem mit einem Script. Ich kann die Variable "xadr" nicht setzen - es kommt immer die Fehlermeldung:
Ping-Anforderung konnte Host "xadre" nicht finden. Überprüfen Sie den Namen, und versuchen Sie es erneut.  

Ich bin da eher unerfahren, habe sehr wenig bisher gescriptet. Aber das hier musste sein. Hier ist das Script - bitte nicht auslachen.
@echo off
title dyndns Aktivitätsprüfung
echo.
echo.
echo.
echo      Verfolge aktuelle IP Adresse des DynDNS Accounts
echo.

rem DynDNS Adresse eingeben
set xadr=myddns.no-ip.com

rem Zeit der Pausen zwischen den Verfolgungen setzen
set wtime=180

rem Anzahl der Verfolgungsrunden setzen
set wround=10

:erneut
rem Variable "cnt" auf 50 setzen  
set cnt=5

:enter_loop
rem DynDNS Server pingen und aktuelle IP ermitteln

ping -n 1 xadr

rem ping auswerten, wenn Anzahl der Antworten > 0 dann gehe zu "alarmme"  
rem if %answer%>0 goto alarmme
echo "Noch %cnt% Versuche"  
echo.

rem Zähler prüfen, wenn Zähler 0 dann gehe zu ende_loop
if %cnt% EQU 0 goto wait

rem Zähler heruntersetzen
set /a cnt="cnt-1"  
goto enter_loop

:alarmme
cls
echo VERBINDUNG steht !
goto eof


:wait
ping 127.0.0.1 -n wtime>nul 
set /a wround="wround-1"  
cls
echo "Starte erneute Verfolgung der Zieladresse"  
goto erneut


:eof
exit

Das ganze versagt also schon am Anfang bei der Vergabe der Variable "xadr".

Content-Key: 206044

Url: https://administrator.de/contentid/206044

Printed on: April 23, 2024 at 14:04 o'clock

Mitglied: 76109
76109 May 05, 2013 updated at 07:06:31 (UTC)
Goto Top
Hallo Rocknrolla!

Hast Du es in Codezeile 25 schon mit %xadr% versucht?

Eventuell wäre das setzen von Zahlenvariablen mit 'set /a' noch sinnvoll z.B. :
set /a wtime=180
und das zählen (-1) in der Art:
set /a cnt-=1


Gruß Dieter
Member: Rocknrolla
Rocknrolla May 05, 2013 updated at 16:03:29 (UTC)
Goto Top
Hallo didi1954,

danke für die Hilfe, es geht jetzt alles.

@echo off
title dyndns Aktivitätsprüfung
echo.
echo.
echo.
echo      Verfolge aktuelle IP Adresse des DynDNS Accounts
echo.

rem DynDNS Adresse eingeben
set xadr=myddns.no-ip.com

rem Zeit der Pausen zwischen den Verfolgungen setzen
set /a wtime=180

rem Anzahl der Verfolgungsrunden auf 5 setzen
set wround=5

:erneut
rem Variable "cnt" auf 5 setzen  
set cnt=5

:enter_loop
rem DynDNS Server pingen und aktuelle IP ermitteln

ping %xadr%

ping 127.0.0.1 -n 25>nul
ping %xadr%

ping 127.0.0.1 -n 25>nul
ping %xadr%

ping 127.0.0.1 -n 25>nul

cls
rem ping auswerten, wenn Anzahl der Antworten > 0 dann gehe zu "alarmme"  
rem if %answer%>0 goto alarmme
echo Noch %cnt% Versuche
echo.

rem Zähler prüfen, wenn Zähler 0 dann gehe zu ende_loop
if %cnt% EQU 0 goto wait

rem Zähler heruntersetzen
set /a cnt="cnt-1"  
goto enter_loop

:alarmme
cls
echo VERBINDUNG STEHT !
goto eof


:wait
ping 127.0.0.1 -n %wtime%>nul
set /a wround="wround-1"  
cls
echo Starte erneute Verfolgung der Zieladresse
if %wround% EQU 0 goto eof
goto erneut

:eof
exit

Ich werde es zwar noch verfeinern, aber im Groß und Ganzen läuft das jetzt prima!