/ Forside / Teknologi / Operativsystemer / MS Windows / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS Windows
#NavnPoint
Klaudi 76474
o.v.n. 67550
refi 58409
tedd 45557
Manse9933 45149
molokyle 40687
miritdk 38357
briani 27239
BjarneD 26414
10  pallebhan.. 24310
Fange PING tider i et Windows script
Fra : KurH


Dato : 31-10-05 17:04

På en Windows XP skal jeg kontrollere om en given host er oppe og i så fald,
hvor lange ping tider der er til hosten. Hvis jeg tager en ping til hosten:

C:\>ping myserver
Pinging myserver [192.168.1.11] with 32 bytes of data:
Reply from 192.168.1.11: bytes=32 time<1ms TTL=64
Reply from 192.168.1.11: bytes=32 time<1ms TTL=64
Reply from 192.168.1.11: bytes=32 time<1ms TTL=64
Reply from 192.168.1.11: bytes=32 time<1ms TTL=64
Ping statistics for 192.168.1.11:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

Dvs. at i ovenstående tilfælde findes maskinen og ping tiden er under 1ms.

Det ville være godt, hvis man kunne lave et script (helst en BAT/CMD fil),
der returnere 0 hvis hosten ikke findes og hvis hosten findes, skal den
returnere antal ms. ping tid således, at man kan tage action udfra om en
ping er større eller mindre end ? (dvs. at den ikke skal have "<1ms" som
værdi men istedet "1").

Det SKAL ikke være BAT/CMD, hvis nogen har et bud i VBS

Nogen gode bud?



 
 
Morten Klostergaard (31-10-2005)
Kommentar
Fra : Morten Klostergaard


Dato : 31-10-05 17:25

"KurH" <2121324234sgh@hotmail.com> wrote in message
news:43664089$0$152$edfadb0f@dread16.news.tele.dk...
> Dvs. at i ovenstående tilfælde findes maskinen og ping tiden er under 1ms.
>
> Det ville være godt, hvis man kunne lave et script (helst en BAT/CMD fil),
> der returnere 0 hvis hosten ikke findes og hvis hosten findes, skal den
> returnere antal ms. ping tid således, at man kan tage action udfra om en
> ping er større eller mindre end ? (dvs. at den ikke skal have "<1ms" som
> værdi men istedet "1").
>
> Det SKAL ikke være BAT/CMD, hvis nogen har et bud i VBS
>
> Nogen gode bud?

Den skriver en error code du kan fange når hosten ikke findes.

At fange ping tiden er straks være, der er jeg lidt blank...

Br,
Morten




Morten Klostergaard (31-10-2005)
Kommentar
Fra : Morten Klostergaard


Dato : 31-10-05 17:50


"Morten Klostergaard" <News@tera.dk.invalid> wrote in message
news:43664563$0$67258$157c6196@dreader2.cybercity.dk...
> At fange ping tiden er straks være, der er jeg lidt blank...

Efter at min hjerne blev slået til igen blev resultatet:

ping noc.tele.dk2 -n 3 >giraf.txt
if %ERRORLEVEL% == 0 FOR /F "skip=10 tokens=6 delims==," %%i in (giraf.txt)
do EXIT /B %%i
EXIT /B 0

Br,
Morten



KurH (02-11-2005)
Kommentar
Fra : KurH


Dato : 02-11-05 13:48

>> At fange ping tiden er straks være, der er jeg lidt blank...
> Efter at min hjerne blev slået til igen blev resultatet:
>
> ping noc.tele.dk2 -n 3 >giraf.txt
> if %ERRORLEVEL% == 0 FOR /F "skip=10 tokens=6 delims==," %%i in
> (giraf.txt) do EXIT /B %%i
> EXIT /B 0

C:\>ping noc.tele.dk 1>giraf.txt
The syntax of the command is incorrect.
C:\>if 0 == 0 FOR /F "skip=10 tokens=6 delims==," %i in (giraf.txt)

Der kommer ovenstående fejl. Jeg har IKKE skrevet "..tele.dk 1>giraf.txt"
men jeg går ud fra, at det er Windows shell som piper det ud i en fil?



Morten Klostergaard (02-11-2005)
Kommentar
Fra : Morten Klostergaard


Dato : 02-11-05 19:09


"KurH" <2121324234sgh@hotmail.com> wrote in message
news:4368b596$0$128$edfadb0f@dread16.news.tele.dk...
>>> At fange ping tiden er straks være, der er jeg lidt blank...
>> Efter at min hjerne blev slået til igen blev resultatet:
>>
>> ping noc.tele.dk2 -n 3 >giraf.txt
>> if %ERRORLEVEL% == 0 FOR /F "skip=10 tokens=6 delims==," %%i in
>> (giraf.txt) do EXIT /B %%i
>> EXIT /B 0
>
> C:\>ping noc.tele.dk 1>giraf.txt
> The syntax of the command is incorrect.
> C:\>if 0 == 0 FOR /F "skip=10 tokens=6 delims==," %i in (giraf.txt)
>
> Der kommer ovenstående fejl. Jeg har IKKE skrevet "..tele.dk 1>giraf.txt"
> men jeg går ud fra, at det er Windows shell som piper det ud i en fil?

He-He, outlook express delte linien...

Linie 1: ping noc.tele.dk2 -n 3 >giraf.txt
Linie 2: if %ERRORLEVEL% == 0 FOR /F "skip=10 tokens=6 delims==," %%i in
Resten af line 2: (giraf.txt) do EXIT /B %%i
Linie 3: EXIT /B 0



Br,
Morten



KurH (03-11-2005)
Kommentar
Fra : KurH


Dato : 03-11-05 11:28

> He-He, outlook express delte linien...
> Linie 1: ping noc.tele.dk2 -n 3 >giraf.txt
> Linie 2: if %ERRORLEVEL% == 0 FOR /F "skip=10 tokens=6 delims==," %%i in
> Resten af line 2: (giraf.txt) do EXIT /B %%i
> Linie 3: EXIT /B 0

Tak tak - hvordan får jeg outputtet ind i en variabel? Jeg vil nemlig gerne
gøre noget forskelligt ud fra om ping tiden, hvis den er større eller mindre
end f.eks. 100ms. Jeg har følgende:

@ECHO OFF

ping noc.tele.dk > C:\giraf.txt

rem if %ERRORLEVEL%==0 FOR /F "skip=10 tokens=6 delims==," %%i in
(C:\giraf.txt) do EXIT /B %%i
if %ERRORLEVEL%==0 FOR /F "skip=10 tokens=6 delims==," %%i in (C:\giraf.txt)
do GOTO OK
GOTO NOK

:OK
echo OK (%%i)
GOTO END

:NOK
echo NOK
EXIT /B 0

:END
echo END



Morten Klostergaard (03-11-2005)
Kommentar
Fra : Morten Klostergaard


Dato : 03-11-05 16:39


"KurH" <2121324234sgh@hotmail.com> wrote in message
news:4369e646$0$182$edfadb0f@dread16.news.tele.dk...
>
> Tak tak - hvordan får jeg outputtet ind i en variabel? Jeg vil nemlig
> gerne gøre noget forskelligt ud fra om ping tiden, hvis den er større
> eller mindre end f.eks. 100ms. Jeg har følgende:
>
> @ECHO OFF
>
> ping noc.tele.dk > C:\giraf.txt
>
> rem if %ERRORLEVEL%==0 FOR /F "skip=10 tokens=6 delims==," %%i in
> (C:\giraf.txt) do EXIT /B %%i
> if %ERRORLEVEL%==0 FOR /F "skip=10 tokens=6 delims==," %%i in
> (C:\giraf.txt) do GOTO OK
> GOTO NOK
>
> :OK
> echo OK (%%i)
> GOTO END
>
> :NOK
> echo NOK
> EXIT /B 0
>
> :END
> echo END

Drop goto, det er noget fanden har skabt.

ping noc.tele.dk > C:\giraf.txt
if %ERRORLEVEL%==0 (
FOR /F "skip=10 tokens=6 delims==," %%i in (C:\giraf.txt) (
if %i LEQ 100 echo Ping tiden mindre end eller 100
if %i GTR 100 echo Ping tiden var mere end 100
) else (
echo Server dead...
)

Men med "help" kan du komme langt... "help if", "help set" osv.

Br,
Morten



Søg
Reklame
Statistik
Spørgsmål : 177510
Tips : 31968
Nyheder : 719565
Indlæg : 6408584
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste