polarnacht
Goto Top

Programm starten nach Pingkontrolle

Hallo Liebe Community,

ich bin auf dem Gebiet Batch nicht wirklich bewandert.. hab mir vieles zusammen suchen müssen und komme trotzdem leider auf keine Lösung meines Problems.

folgendes Problem:

ich hab auf einem PC durchgehend ein VNC-Programm laufen.. nun ist die Verbindung aber nicht allzu stabil.. und manchmal ist der Hostrechner nicht erreichbar und VNC schließt sich automatisch.. jetzt will ich mir ne Batch-Datei schreiben die einfach durchgehend den Hostrechner anpingt.. und wenn der Ping weg ist, wartet bis der Ping wieder da ist und dann VNC wieder startet. Ich habs auf folgendem weg versucht.. aber es tut sich nichts.

@echo off

:parameter
SET ip=129.189.1.100

:Test
ping -t -n l %ip%|find "TTL=" > nul

if %errorlevel%==l goto nexttest
if not %errorlevel%==l goto Test

:nexttest
ping -n 1 l %ip%|find "TTL=" > nul

if %errorlevel%==l goto nexttest
if not %errorlevel%==l "C:\Programme\VNC\VNCblablabla.exe"


die obere schleife setzt also einen dauerping ab.. solange bis ein Error kommt.. dann wird das unterprogramm nexttest aufgerufen, das sich solange weiter aufruft und pingt bis irgendwann kein error mehr kommt und es die VNC.exe startet..

aber es klappt nicht? was mach ich falsch? ist mein Denken falsch? oder irgendwelche Synthax Fehler?

Ein Dickes Danke schon mal im Vorraus

Gruß

Polarnacht

Content-Key: 148960

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

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

Member: bastla
bastla Aug 13, 2010 at 14:01:59 (UTC)
Goto Top
Hallo Polarnacht und willkommen im Forum!

Rein handwerklich würde ich das (ungetestet) eher so versuchen:
@echo off & setlocal

:parameter
SET ip=129.189.1.100

:Test
ping -n 1 %ip%|find "TTL=" > nul && goto :Test  

:nexttest
ping -n 1 %ip%|find "TTL=" > nul || goto :nexttest  

"C:\Programme\VNC\VNCblablabla.exe"  
goto :Test
[Edit] "ping"-Befehle noch auf jeweils "-n 1" reduziert. [/Edit]

Grüße
bastla
Member: Polarnacht
Polarnacht Aug 13, 2010 at 14:06:16 (UTC)
Goto Top
Erstmal vielen Dank für die flotte antwort und den Willkommensgruß

ich werd das nachher, sobald der Rechner an dem das versucht werden soll, wieder zur Verfügung steht, gleich mal ausprobieren.
Womit mir vlt. auch noch geholfen wäre.. nachdem die VNC.exe wieder gestartet wurde.. soll das programm praktisch wieder auf "Überwachen" gehen um falls der Ping wieder ausfällt das gleiche nochmal zu machen.. das Programm müsste sich also selbst wieder holen.. kann ich so einfach an C:\Programme\VNC\VNCblablabla.exe "goto :Test" dranhängen und das Programm läuft wieder neu an?

EDIT: oh.. die letzte zeile "goto Test" die du angefügt hast, scheint wohl genau das zumachen oder? ;)

EDIT2: ich hab deine Variante einfach mal übernommen.. beim ausführen der Batch datei, bleibt das Fenster jedoch einfach schwarz.. es tut sich nichts..
Member: bastla
bastla Aug 13, 2010 at 15:01:47 (UTC)
Goto Top
Hallo Polarnacht!
beim ausführen der Batch datei, bleibt das Fenster jedoch einfach schwarz.. es tut sich nichts..
Was sollte sich denn Sichtbares tun?

Du kannst natürlich noch zB zwischen Zeile 6 und 7 ein
echo %time:~,8% Teste Verbindung mit %ip%
einbauen, oder als Zeile 8
echo %date% %time:~,8% Keine Verbindung zu %ip%
und als Zeile 11
echo %date% %time:~,8% Verbindung zu %ip% wieder da, starte VNC
verwenden ...

Grüße
bastla
Member: Polarnacht
Polarnacht Aug 13, 2010 at 15:05:29 (UTC)
Goto Top
ach! Fehler meinerseits! Ich hab jetzt an das ganz normale Pingkommando gedacht, das ausgibt, ob Zeitüberschreitung oder Paket angekommen, aber das ist ja wieder ganz was anderes.. Verwechslung! ;) vielen Dank.. ich versuch das gleich mal.
Member: Biber
Biber Aug 13, 2010 at 15:06:55 (UTC)
Goto Top
Moin Polarnacht,

willkommen auch von mir.
beim ausführen der Batch datei, bleibt das Fenster jedoch einfach schwarz.. es tut sich nichts
...oder aber auch die Fensterfarbe auf Cyan oder Magenta setzen... oder Donnergrün....aber auf Polarlicht geht nicht.

...wann is' denn endlich Wochenende..?

Grüße
Biber
Member: bastla
bastla Aug 13, 2010 at 15:09:35 (UTC)
Goto Top
Hallo Polarnacht!
Ganz was anderes ist es nicht - aber die Ausgabe wird ja mit ">nul" unterdrückt ...

Grüße
bastla
Member: Polarnacht
Polarnacht Aug 13, 2010 at 15:13:54 (UTC)
Goto Top
Ah ich seh schon ;) auf dem Gebiet zähl ich einfach noch zu den Anfängern.. aber ich denk ich werd mir die Materien nun auch mal genauer zu Gemüte führen.. die Farbe Polarlicht wäre zwar schön, aber ist wohl nicht geeignet. (an dieser Stelle auch ein Danke für den Willkommensgruß an den Biber)

gruß

Polarnacht
Member: bastla
bastla Aug 13, 2010 at 15:16:34 (UTC)
Goto Top
Hallo Polarnacht!

Nur als Hinweis: Ich habe oben noch die "ping"-Befehle auf das Nötigste reduziert ...

Grüße
bastla
Member: Polarnacht
Polarnacht Aug 13, 2010 at 15:21:18 (UTC)
Goto Top
So.. ich hab das programm einfach mal so verwendet, gestartet und laufen lassen.. hab dann das plötzliche verschwinden und wieder auftauchen des Pings durch abstecken und anstecken des Netzwerkkabels sozusagen "nachgestellt", das VNC Programm hat sich auch fein geschlossen, wie immer, wenn es keine Verbindung mehr hat.. die Batch hat es nach wieder anstecken des Kabels und nachdem der Ping wieder da war aber nicht wieder aufgemacht. Jetzt bin ich am grübeln ;)
Member: bastla
bastla Aug 13, 2010, updated at Oct 18, 2012 at 16:43:07 (UTC)
Goto Top
Hallo Polarnacht!

Bau doch mal die oben vorgeschlagenen Zeilen 8 und 11 ein (und kontrolliere die Zeile 12 face-wink) ...

Grüße
bastla
Mitglied: 60730
60730 Aug 13, 2010 at 19:06:12 (UTC)
Goto Top
Moin,

@bastla:

Ich will ja nicht kleinlich sein, aber die Kisten, die ich hier stehen hab sind nach ca einer std. Dosbox voll mit Antwort von 1.2.3.4 erst soweit, dass der VNC reagiert.
Jedoch ca. 6 Pings, nachdem (ich schreibe über die Redmonter Blowsysteme) z.B c$ da ist.
@Biber Die Abtönfarbe Polarnacht ist grade ausverkauft, aber wenns sein soll, streichen wir halt den Hintergrund face-wink

@echo off & setlocal

:start
for /l %%a in (0,1,9) do (
		title ping pong zum %%a.ten wer bietet mehr?
		Ping 129.189.1.100 -n 1> nul
		color %%af
)
:wait
Ping 129.189.1.100 -n 1|find "TTL=" > nul ||goto start  
if not exist 129.189.1.100\c$ goto wait
%programfiles%\usw.
exit /b
Member: Polarnacht
Polarnacht Aug 14, 2010 at 21:35:50 (UTC)
Goto Top
super, vielen Dank für eure Hilfe.. es läuft face-smile