Jump to content

Chris_O

Members
  • Gesamte Inhalte

    6
  • Registriert seit

  • Letzter Besuch

Fortschritt von Chris_O

Rookie

Rookie (2/14)

  • Erste Antwort
  • Erster eigener Beitrag

Neueste Abzeichen

0

Reputation in der Community

  1. Hi, also ich hab mal die Error-Jumps raus genommen... keine Änderung des Problems Ich hab auch mal noch ne Pause vorher eingefügt. Auch keine Änderung... es sollte also an der IF-Abfrage liegen vermute ich Mache ich die IF-Abfrage raus, läuft die Batch. (Nur halt ohne die Logik, die in der IF drin ist).... Ich seh einfach den Fehler nicht... @echo off Title ping check set ipnetz=192.168.1 set serverip1=150 set serverip2=151 set interval=10 set ip1error=0 set ip2error=0 :Pinginterval for /F %%I in ('curl http://%ipnetz%.%serverip1%:8080/webserver-state.txt') do (set state1=%%I) echo %state1% pause if "%state1%" == "AppState=2" ( pause if not %ip1error%==1( GOTO Error1 ) ) if "%state1%" == "AppState=1" ( pause set ip1error=0 ) for /F %%I in ('curl http://%ipnetz%.%serverip2%:8080/webserver-state.txt') do (set state2=%%I) echo %state2% if "%state2%" == "AppState=2" ( if not %ip2error%==1( GOTO Error2 ) ) if "%state2%" == "AppState=1" ( set ip2error=0 ) ping %ipnetz%.%serverip1% -n 2 -w 1000 -l 2000 if %errorlevel%==1 if not %ip1error%==1 ( :Error1 set ip1error=1 taskkill /f /t /im chrome.exe start C:\Programmier\chrome-win\chrome.exe "file:///C:/Users/ortc/Desktop/Test/WebVisuR2.html" ) ping %ipnetz%.%serverip1% -n 2 -w 1000 -l 2000 If %errorlevel%==0 ( set ip1error=0 echo "error1level0 ) echo Error of ip 1 = %ip1error% ping %ipnetz%.%serverip2% -n 2 -w 1000 -l 2000 if %errorlevel%==1 if not %ip2error%==1 ( :Error2 set ip2error=1 taskkill /f /t /im chrome.exe start C:\Programmier\chrome-win\chrome.exe "file:///C:/Users/ortc/Desktop/Test/WebVisuR2.html" ) ping %ipnetz%.%serverip2% -n 2 -w 1000 -l 2000 If %errorlevel%==0 ( set ip2error=0 echo "error2level0" ) echo Error of ip 2 = %ip2error% timeout %interval% GOTO Pinginterval
  2. Alles klar, vielen Dank! dann werd ich das mal ausprobieren und dann Rückmeldung geben. Gruß Chris
  3. Hi, danke für deine Antwort. Doch die existieren... aber innerhalb einer IF-Schleife... ist das möglich?
  4. Moin, du hast natürlich recht! Es läuft bis zum ersten "pause" im Programm durch. Danach schließt sich die Batch und das wars... In der Variable "State1" steht auch korrekt "AppState=1" drin. Ich vermute es hat irgendwas mit diesen IF's hier zu tun: if "%state1%" == "AppState=2" ( if not %ip1error%==1( GOTO Error1 ) ) if "%state1%" == "AppState=1" ( set ip1error=0 )
  5. Hallo zusammen, ich bin doch etwas neu im Erstellen von BATCH-Dateien unter Windows und habe ein kleines Problem.... Generell zu meiner Aufgabenstellung: Ich habe zwei SPS'n, die über ihre IP-Adresse für mich im VPN erreichbar sind. Hier läuft eine kleine Visualisierung. Die SPS'n sind redundant aufgebaut, sodass es immer einen Master und einen Slave gibt. Beim Start meiner Visualisierung gibt es eine Startseite. Diese Seite überprüft dann, wer Master und wer Slave ist und schaltet auf die Korrekte Seite um. Danach steuert sich das System selber. Leider funktioniert das nur, so lange die Applikation bzw. die SPS selbst läuft. Deshalb möchte ich nun feststellen, ob nun die eine oder andere IP-Adresse nicht erreichbar ist und auf die Startseite umschalten. Diese überprüft dann wieder alles. Zusätzlich möchte ich überprüfen, wie der aktuelle Applikationsstatus ist. Dies kann über Abfrage einer Textdatei realisiert werden. Generell hat das Umschalten schon mal funktioniert... ich hab dann das mit dem überprüfen des Applikationsstatus noch mit dazu gemacht, seit dem Arbeitet die Batch nicht mer ganz durch und bricht irgendwo ab... könnt Ihr mir helfen den Fehler zu finden? @echo off Title ping check set ipnetz=192.168.1 set serverip1=150 set serverip2=151 set interval=10 set ip1error=0 set ip2error=0 :Pinginterval for /F %%I in ('curl http://%ipnetz%.%serverip1%:8080/webserver-state.txt') do (set state1=%%I) echo %state1% pause if "%state1%" == "AppState=2" ( if not %ip1error%==1( GOTO Error1 ) ) if "%state1%" == "AppState=1" ( set ip1error=0 ) for /F %%I in ('curl http://%ipnetz%.%serverip2%:8080/webserver-state.txt') do (set state2=%%I) echo %state2% if "%state2%" == "AppState=2" ( if not %ip2error%==1( GOTO Error2 ) ) if "%state2%" == "AppState=1" ( set ip2error=0 ) ping %ipnetz%.%serverip1% -n 2 -w 1000 -l 2000 if %errorlevel%==1 if not %ip1error%==1 ( :Error1 set ip1error=1 taskkill /f /t /im chrome.exe start C:\Programmier\chrome-win\chrome.exe "file:///C:/Users/ortc/Desktop/Test/WebVisuR2.html" ) ping %ipnetz%.%serverip1% -n 2 -w 1000 -l 2000 If %errorlevel%==0 ( set ip1error=0 echo "error1level0 ) echo Error of ip 1 = %ip1error% ping %ipnetz%.%serverip2% -n 2 -w 1000 -l 2000 if %errorlevel%==1 if not %ip2error%==1 ( :Error2 set ip2error=1 taskkill /f /t /im chrome.exe start C:\Programmier\chrome-win\chrome.exe "file:///C:/Users/ortc/Desktop/Test/WebVisuR2.html" ) ping %ipnetz%.%serverip2% -n 2 -w 1000 -l 2000 If %errorlevel%==0 ( set ip2error=0 echo "error2level0" ) echo Error of ip 2 = %ip2error% timeout %interval% Wäre dankbar für Hilfe! Gruß Chris
×
×
  • Neu erstellen...