[win] ping log met tijden ?

Pagina: 1
Acties:
  • 246 views sinds 30-01-2008

  • Pwigle
  • Registratie: December 2000
  • Laatst online: 31-03 16:10
Ik ben een batch file aan het maken die het volgende moet doen:

- Een vast Ip pingen en resultaat loggen
- Voor/Achter het resultaat moet de tijd komen
- In 1 x te starten zijn (gebruiker moet niks invoeren)


Nu is het probleem dat als ik gewoon een ping geef en resultaat >> naar een log file dat ik ook heleboel rotzooi erbij krijg zoals

Ping statistics for 127.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms


Weet iemand een manier (misschien met andere ping utility) een log te krijgen die er bijvoorbeeld zo uit ziet:

12.10 (tijd) ping naar 127.0.0.1 in <1 MS
12.10 ping naar 127.0.0.1 in <1 MS
12.11 ping naar 127.0.0.1 in <1 MS
12.11 ping naar 127.0.0.1 NIET gelukt

Alvast bedankt!!

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Op zaterdag 16 februari 2002 16:16 schreef DaPoztMaster het volgende:
Ik ben een batch file aan het maken die het volgende moet doen:
dat maken lukt dan al aardig :-)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@echo off
REM ** Default to time-out
SET PNG-REPLY=FALSE

REM ** Show date and time
time /t
date /t

REM ** Ping localhost once
ping 192.168.0.2 -n 1 >pngres.txt

REM ** parse result
find /i "reply" pngres.txt >pngres2.txt
for /f "skip=2 tokens=1" %%i in (pngres2.txt) do if /i "%%i"=="Reply" SET PNG-REPLY=TRUE

REM ** show the result
ECHO %PNG-REPLY%

dit kan vast beter.

  • Pwigle
  • Registratie: December 2000
  • Laatst online: 31-03 16:10
Ik had dit al alleen gaat het niet op windows 98 en staat de tijd er een regel onder wat jammer is:
echo Starting to test...
echo Please close this window or press CTRL-BREAK to stop !
set targetstatus=
for /f "tokens=1,*" %%i in ('ping 212.178.7.17 -n 10^|find /i "Reply"') do @set targetstatus=%%i
if "%targetstatus%"=="Reply" goto pingok_en
for /f "tokens=1,*" %%i in ('ping 212.178.7.17 -n 10^|find /i "Hardware"') do @set targetstatus=%%i
if "%targetstatus%"=="Hardware" goto hd_en
echo ---------------------------------------------------->>result.log
echo Error after 10 pings to 212.178.7.17 on date and time (time-out): >>result.log
date /t>>result.log
time /t>>result.log
echo ----------------------------------------------------- >>result.log
goto startping_en

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 22:31

Koffie

Koffiebierbrouwer

Braaimeneer

Pff .. waar is de tijd van een beetje zelf nadenken en goochelen met DOS e.d :?
Verder heeft dit topic weinig met ANS te maken IMO.

Goed, ik zal je het e.e.a uitleggen waarmee je op een snelle manier zoiets voor elkaar kunt krijgen.

Maak de volgende bestanden aan, in een nieuwe directory;

result.bat:
code:
1
2
call 1.bat
call 2.bat

1.bat :
code:
1
ping 192.168.100.1 -n 1 >2.bat

Het result van 1.bat is het volgende:
Pinging 192.168.100.1 with 32 bytes of data:
Reply from 192.168.100.1: bytes=32 time<10ms TTL=128
Ping statistics for 192.168.100.1:
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
Ik neem aan dat je de schuingedrukte regel in je logfile wilt hebben.

Doordat je de output naar 2.bat gooit, en 2.bat runt probeert hij elke regel als command uit te voeren ...

reply.bat :
code:
1
Echo results van ping: %1 %2 %3 %4 % >logfile.log

Op dezelfde manier kun je met het commando TIME ook het tijdstip naar de logfile wegscrhijven.
Zelf proggen in TP oid zal het allemaal veelbeter kunnen. Voordeel van deze method is, dat het je al lukt met puur DOS zelf, zonder 3rd party tooltjes e.d.

Tijd voor een nieuwe sig..


Dit topic is gesloten.