Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I am currently working in a big company and we have serious latency issues. This is happening in a process control system, and is unacceptable (Open a valve sometimes take 2 minutes before command start)

I want to double-check when the network team says "everything is alright on the network". So, I want to create a loop that pings the server and writes the result in a text file.

I am not a batch expert, but do you think this code is correct to use?



time /T
ping xxx.xx.x.x  -t >> filename.txt
sleep -m 3000

share|improve this question
oss.oetiker.ch/smokeping –  Zoredache Oct 11 '11 at 7:43
@Zoredache I cannot install such softwares on a Process control computer: dev.pulsed.net/wp/?p=31 –  Waza_Be Oct 11 '11 at 8:06
"win XP Professional" is not DOS. –  grawity Oct 11 '11 at 12:32

3 Answers 3

up vote 15 down vote accepted

Looks fine to me, but there's no need to loop it if you want to continuously ping the IP. Then you could simply do it like this:

set IPADDRESS=x.x.x.x
ping %IPADDRESS% -t >> filename.txt

If you want to ping every X minute, use the loop:

set IPADDRESS=x.x.x.x
ping %IPADDRESS% -n 1 >> filename.txt
timeout %INTERVAL%

As you can see I replaced the sleep command with timeout. That's because sleep isn't always available on some systems whereas timeout usually is.

Missing sleep or timeout commands on your system? Don't fret. Just replace timeout with the following hack:

@ping -n %INTERVAL% > nul

This hack simply pings your local address, and since it will respond instantly we can use this to emulate a delay in execution.

share|improve this answer
timeout is not recognized as an internal or external command –  Waza_Be Oct 11 '11 at 8:02
@Profete162, do you have the sleep command then? If so, just replace timeout with sleep. What version of Windows are you doing this? –  Marcus Ekwall Oct 11 '11 at 8:14
Same for sleep... I am using win XP Professional –  Waza_Be Oct 11 '11 at 8:21
@Profete162, old school! :) I'll add a secondary method which you can use when those commands are missing. –  Marcus Ekwall Oct 11 '11 at 8:22

I know it's a windows question (and an old one at that), but maybe it's similar to Linux and OSX. This is the first thing that came up when I was looking for a simple command to keep network traffic on my laptop. Might be useful to someone looking for something similar.

in a bash script:

WAITSECONDS=30 #or whatever your needs are
IPTOPING= #or whatever your needs are
ping -i ${WAITSECONDS} ${IPTOPING} > logfile

Single line ex pinging google dns every 30sec:

ping -i 30 > logfile

Works in OSX and Linux, should be pretty standard though, don't know what system you're on.

share|improve this answer
maybe in cygwin.. cygwin lets you use bash in windows –  barlop Apr 27 at 18:03

On Windows based systems we can use the following command to ping a server after specific interval

ping xxx.xxx.xxx.xxx -w xxxx -n xx >> c:\logfile.txt

where -w specifies intervals in milliseconds so 1000 ~ 1 second => 3000 for 3 sec delay -n specifies number of times ping will be sending query to the server at xxx.xxx.xxx.xxx .

share|improve this answer
-w just specifies how long it will wait for a reply, not how long it will wait to ping. –  Scott Beeson May 20 at 15:04

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.