Programm das pingt und eine *.bat startet gesucht

Bibzilla

Vice Admiral Special
Mitglied seit
25.11.2001
Beiträge
639
Renomée
0
Standort
Munich
Hallo, wie im Topic geschrieben, ich suche ein Programm, das durch Pings feststellt, ob man noch online ist, und sobald es keine Antwort bekommt, eine *.bat starten kann.

Hintergrund ist folgender, ein Freund von mir wohnt im Studiwohnheim, wo die Internetverbindung alle Stunde getrennt wird. Login ist leider nur per Telnet möglich, ich hab zum Glück schon einen Telnetclient gefunden, der scriptable ist, so dass er nicht immer rumtippern muss. ;) Mit einem Programm wie oben beschrieben sollte es dann ja möglich sein, sich automatisch einzuloggen, sobald die Verbindung getrennt wird.

Danke im voraus

Bib
 
Dein Problem laesst sich mittels einem simplen Script lösen.. kopier das in eine
Datei benenne sie meinetwegen OnPingFailRunExe.vbs, passe den Hostnamen
und die zu startende Datei an und starte das Ding mittels cscript.exe, falls
nötig, gekapselt in einer anderen Endlosbatch..

Viel Spass.. 8)

tb'..

------

'///////////////////////////////////////////////////////////////////////////////////////////////////////
'// OnPingFailRunExe.vbs tb' in o9/o2
'///////////////////////////////////////////////////////////////////////////////////////////////////////
'///////////////////////////////////////////////////////////////////////////////////////////////////////

dim sBatchFileToRun
sBatchFileToRun = "c:\MeinBatchFile.bat"

dim sHostnameOrIPToPing
sHostnameOrIPToPing = "hostname"

dim iWaitXSeconds
iWaitXSeconds = 10

dim oShell
set oShell = CreateObject("WScript.Shell")

dim iResult

while iResult = 0
On Error Resume Next
iResult = oShell.Run( "ping.exe -n 1 " & sHostnameOrIPToPing, false, true)
if (err) then
WScript.echo "Error running 'ping.exe'.. :(" + chr(10)
iResult = -1
else
if (iResult) then WScript.Sleep( iWaitXSeconds * 1000)
end if
wend

if (iResult <> -1) then

WScript.echo "Host is down, starting batch/exe.." + chr(10)

On Error Resume Next
iResult = oShell.Run( sBatchFileToRun, false, true)
if (err) then
WScript.echo "Execution failed.. :(" + chr(10)
WScript.quit 5
end if

end if

-----------
 
Ui! Da hat sich jemand aber richtig Mühe gegeben, dickes Dankeschön! =))) Ich werds gleich mal testen, wenn ich hier fertig bin mit Frondiensten. ;) ServerAlive wollte leider auf dem Rechner nicht laufen, BSOD. =(

Bib
 
8).. ja kein Hit.. macht Spass und kann ich selber auch gebrauchen.. 8)..

Wenn Du noch fragen dazu hast, oder wenn es evtl. nicht so funktioniert wie
erwartet.. (es gab ja keine langen Teststudien.. 8)) dann frag mich nochmal..
gerne auch per eMail - geht schneller .. 8)..

tb'..
 
Zurück
Oben Unten