Question

How to make a Batch file/Script that will ping target PC if reply then execute command.

Asked by: jmiguel18

Can anyone help me create a batch file or a windows script that will check if the target pc (server for example) is online then if there is a reply it will execute a certain command and if not it will just loop until it gets a ping and finished the execution of the command.

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2009-10-14 at 20:14:43ID24813636
Tags

Batch File/Scripting

Topics

MS DOS

,

Windows XP Operating System

Participating Experts
5
Points
125
Comments
17

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. batch file for ping the server
    I need the windows patch file for ping the sever so whenever the server connection goes off, it will display the message the host,which i am running the batch file. bye
  2. PING
    Hi, I am interested in a PING Program, or some code, that will let me ping an IP Addresss, but be silent, i.e. run in the system tray or in the background. Can this be done programatically? I would like it so it doesn't need to be manually configured at each startup just r...
  3. Batch file help:  Creating a log file of the ping results and ti…
    Is there a way to create a batch file that will run a continuous ping on a server and output the time of every ping and its ping results into a log file?
  4. batch file for pinging
    Hi, I am trying to create a simple batch file to use with scheduled tasks in win98se. All I need the file to do is ping my router and then close the window, or ping my router without opening a dos screen if possible. I tried a simple file with "ping 192.168.0.1" ...

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: leakim971Posted on 2009-10-14 at 20:20:00ID: 25576967

Hello jmiquel18,

Try something like :

@echo off
ping -n 1 computer1 
if %ERRORLEVEL%== 1 echo no response from computer1
                                              
1:
2:
3:

Select allOpen in new window

 

by: jmiguel18Posted on 2009-10-14 at 20:39:36ID: 25577031

thanks for the effort.. tested it, it didnt work.  btw, it doesnt seem complete to me.... T_T

 

by: leakim971Posted on 2009-10-14 at 20:44:50ID: 25577047

It work for me.

Can I see your lines ?

 

by: leakim971Posted on 2009-10-14 at 20:50:33ID: 25577064

Example :

 

by: xuserx2000Posted on 2009-10-14 at 20:53:21ID: 25577076

Well ...it's not using ping, but if you are running this with administrative access to the machines, you can check for the existence of a file to see if the computer is online...


:1
if EXIST \\192.168.1.155\c$\boo.ini GOTO :RUNCOMMAND
GOTO :1
:RUNCOMMAND
echo This is the command you want to run

 

by: xuserx2000Posted on 2009-10-14 at 20:54:15ID: 25577080

sorry, spelling error... boot.ini


:1
if EXIST \\192.168.1.155\c$\boot.ini GOTO :RUNCOMMAND
GOTO :1
:RUNCOMMAND
echo This is the command you want to run

 

by: dragon-itPosted on 2009-10-15 at 01:49:19ID: 25578546

PING does not return an errorlevel you need to use something like this to check using FIND on the output:

@echo off
ping 128.127.1.1 -n 2 -w 200 | find "TTL" >NUL
if %errorlevel%==0 (echo Is repsponding) ELSE (echo is not responding)

 

by: dragon-itPosted on 2009-10-15 at 01:50:58ID: 25578553

Good plan to check a file exists too, but there may be quite a delay while it tries to check - on my machine it was maybe 20-25 secs.

 

by: QlemoPosted on 2009-10-15 at 04:42:04ID: 25579440

The original intent was to loop until reachable. So both the ping and the file exists approach are suitable. The ping allows for a finer control, however. Based on Steve's code:

@echo off
:loop
ping 192.168.1.1 -n 2 -w 5000 | find "TTL" >NUL || goto loop
REM Command here ...

That will wait 5 seconds between each test.

 

by: LucienJanssensPosted on 2009-10-15 at 08:30:59ID: 25581593

:loop
ping PCNAME || goto loop
rem put here what to do if pc is pingable
goto end



(  ||  = double pipe , means execute next command if previous did not complete successfully )

 

by: leakim971Posted on 2009-10-15 at 08:33:51ID: 25581633

Hello dragon-it,

Check my screen copy, it's not a fake !

Regards.

 

by: QlemoPosted on 2009-10-15 at 10:25:43ID: 25582676

I can confirm that. But I have been certain that Steve is right. However, looking into one of my archived batch files, I have used that previously with the || syntax ... Applied to my example, which I still prefer because of the built-in delay (in milliseconds) and suppressing unnecessary output, that is only a small change:

@echo off
:loop
>nul ping 192.168.1.1 -n 1 -w 5000 || goto loop
REM Command here ...

 

by: dragon-itPosted on 2009-10-15 at 10:47:40ID: 25582902

Curious... On Windows 2000 Pro SP4, XP Sp3, Server 2003 SP1? it does NOT set the errorlevel (just tried it again:)  Cut out some of the crap but the result is the same.  Is this new behaviour on Win 7 or Vista - what are you using?

Steve

C:\Documents and Settings\stephen>ping 10.0.0.1 -n 1 -w 100
Pinging 10.0.0.1 with 32 bytes of data:
Request timed out.
echo %errorlevel%
0

ping 127.0.0.1 -n 1 -w 100
Pinging 127.0.0.1 with 32 bytes of data:
Reply from 127.0.0.1: bytes=32 time<10ms TTL=128

echo %errorlevel%
0

C:\Documents and Settings\stephen>ping 10.0.0.1 -n 1 -w 100  || echo OK
Pinging 10.0.0.1 with 32 bytes of data:
Request timed out.

ping 127.0.0.1 -n 1 -w 100  || echo OK

Pinging 127.0.0.1 with 32 bytes of data:
Reply from 127.0.0.1: bytes=32 time<10ms TTL=128


 

by: QlemoPosted on 2009-10-15 at 10:53:55ID: 25582969

Quick test:

W2k SP4 Server: no
XP SP3: yes
W2003 R2 SP2 Server: yes

Looks like the behavio(u)r changed with XP.

 

by: dragon-itPosted on 2009-10-15 at 10:58:32ID: 25583006

Strange, didn't seem to work with my XP... maybe an old build.  That's useful to know, just got to remember which I'm using it on!

 

by: jmiguel18Posted on 2009-10-15 at 18:29:15ID: 25586368

Thank you all for your reply on this matter, All posts was very helpful and I tried to combine most of them to reach my goal. eq. leakim971 solution is almost perfect (and "yes" ping does return an errorlevel, so i didn't use the "find" command. I did replaced his >>log.txt to >nul instead since i feel its not that suitable to make a log file for a ping command which loops until it reaches a reply. Again thanks to everyone!

 

by: jmiguel18Posted on 2009-10-15 at 18:34:39ID: 31641438

Problem Solved.

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...