moltova
Goto Top

Alternatives Ping Tool gesucht

Guten morgen liebe Mitstreiter der IT-Welt face-smile

Mein anliegen: Ich habe mir einen Skript geschrieben welcher mittels Ping befehl ein Programmstartet wenn ich eine Antwort vom Server bekomme. Unter XP mit dem alten Ping tool klappt das auch noch. Nur unter Windows 7 nicht mehr.

Hier ein kleiner Ausszug zur verdeutlichung:
@echo off

:server01

ping -n 1 192.168.0.2

if not errorlevel 1 goto dtpskript_01
if errorlevel 1 goto fehler


Problem ist, das durch das neue Ping tool immer eine Antwort zurückkommt und daher der Skript unbrauchbar ist. Ich hatte mal ein alternatives Ping tool nur finde es leider nicht mehr. Hoffe ihr könnt mir helfen


MFG

euer molto

Content-Key: 141948

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

Printed on: April 19, 2024 at 10:04 o'clock

Mitglied: 77559
77559 May 03, 2010 at 08:47:55 (UTC)
Goto Top
Hallo molto,

bitte formatiere deinen Code zur besseren Les-/Referenzier-barkeit unbedingt mit den dafür vorgesehenen in der Formatierungshilfe

In deinem Code ist mindestens ein if zuviel, diese Varianten sollten funktionieren.
@echo off
:server01
ping -n 1 192.168.0.2 2>NUL
if errorlevel 1 goto fehler
goto dtpskript_01

Das doppelte Pipe-Zeichen zur bedingten Ausführung wenn der vorherige Befehl einen Fehler ausweist.
@echo off
:server01
ping -n 1 192.168.0.2 2>NUL || goto fehler
goto dtpskript_01

Außerdem kannst du den Fehler noch über die Systemvariable %Errorlevel% auf einen bestimmten Wert abfragen.

Gruß
LotPings
Member: moltova
moltova May 03, 2010 at 09:33:35 (UTC)
Goto Top
Hi, danke für die Antwort nur leider hilft Sie mir nicht.

Unter Windows XP kam bei einer Pingabfrage die ins leere ging folgende Antwort:

Zeitüberschreitung der Anforderung (also ein errorlevel 1)

Unter Vista bzw Windows 7 kommt bei einer Pingabfrage die ins leere geht folgende Antwort:
Antwort von 192.168.0.XXX: Zielhost nicht erreichbar. (also immer ein Positiver Wert.)

Es ist auch egal ob du mit einem Netzwerk verbunden bist oder nicht es kommt immer eine postive Antwort zurück die meinen Skript nicht Ordnungsgemäß ausführt.
Die Skriptdatei läuft unter Windows XP oder 2003 einwandfrei.

Hier mal meine komplettedatei um die funktion zu erkennen face-smile

@echo off 

:server01

ping -n 1 192.168.0.2

if not errorlevel 1 goto dtpskript_01
if errorlevel 1 goto fehler

:dtpskript_01

echo Daten-Server ist erreichbar! 
echo Netzlaufwerke werden angelegt! 
net use o: \\192.168.0.2\daten				/persistent:no
net use p: \\192.168.0.2\datenbank				/persistent:no

echo Netzlaufwerke wurden angelegt!
echo Datenbank wird gestartet!

start C:\Datenbank\Frontend2010.accdb


ping localhost -n 5 > nul

ende
exit
Member: moltova
moltova May 03, 2010 at 11:39:27 (UTC)
Goto Top
Habs mit dem Befehl

ping -n 1 192.168.0.2 %1|find "TTL=" > nul

hinbekommen


Danke nocheinmal für die Hilfe
Mitglied: 77559
77559 May 03, 2010 at 11:51:07 (UTC)
Goto Top
Sorry,
den wollte ich dir schreiben, war aber abgelenkt. Wofür ist hier %1, ein Überbleibsel?
Meine Kommentare zu den IFs stimmen aber immer nióch face-wink

Gruß
LotPings