Jump to content

help needed to write a batch file that test ping


Recommended Posts

basically im new to writing command prompt batch files so really need help down here :thumbup

i need to write out a batch that can help me continously ping a ip address.

eg. ( ping 132.21.21.2 -t)

if during the pinging, there is request time out or destination host unreachable, the batch file will automatically net send to another computer ( which is in the same domain as mine ) to inform him that ping failed.

is it possible?

Link to comment
Share on other sites


  • 3 weeks later...

@rv31 : There's absolutely no Denial of Service in what he's doing. It's simply ping monitoring.

@chunhin : I'm not sure if it's possible to do what you'd like with a batch file, but some simple scripting in VBScript could do the trick. Take a look at this topic.

Link to comment
Share on other sites

A FOR /F should be all that is needed:

http://www.robvanderwoude.com/ntfortokens.php

Can you post the output of a "single" working "ping" and those with the "ping errors" that you want the alarm (redirection or whatever) to be triggered with?

Another VBS script that might be useful:

http://www.robvanderwoude.com/vbstech_network_ping.php

jaclaz

Link to comment
Share on other sites

One problem you will run into. You can get destination host unreachable if your network gets a lot of traffic, or the machine you are pinging gets to many request. Also, some A/V programs will think you are a hacker doing DOS if it is non stop pinging. I have been using a program called "Is it up" to monitor cpu's and devices.

Edited by AO3
Link to comment
Share on other sites

  • 7 months later...
  • 1 month later...

Are you allowed to use anything other than command prompt ? That will make parsing of the output easier.

Here is a possible script.

# Script ping15sec.txt
var str output, lost
while (true)
do
# Ping. Collect output into variable $output.
system "ping 132.21.21.2" > $output
# Get the lost packect count. It is after "Lost =" in $output.
stex -c -r "^Lost;=;^[" $output > $lost
stex -c -r "[^,^" $lost > null

# $lost must be "0". If not, something went wrong.
if ($lost <> "0")
do
# Do something to report error here. For now, we will just shout.
echo "LOST " $lost " PACKETS AT TIME " gettime()
done
endif

# Sleep for 60 seconds
sleep 60
done

Save the script in file C:/Scripts/ping15sec.txt, start biterscripting ( http://www.biterscripting.com ), enter the following command.

script "C:/Scripts/ping15sec.txt"

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...