Solved

Need help!  DOS Batch file to wait for another program to finish

Posted on 2004-09-09
8
586 Views
Last Modified: 2008-01-09
I need a DOS batch file to do such:  start at 5am in the morning, but wait for another program to finish, when the other program finishs, if the status of the other program is a success, then pass a success output, otherwise pass a failure out.
Could someone drop a sample code to help out?
Thanks.
0
Comment
Question by:bob001
  • 2
  • 2
  • 2
  • +2
8 Comments
 
LVL 3

Assisted Solution

by:Sasho
Sasho earned 40 total points
Comment Utility
call another_program.exe
if errorlevel 1 goto error
if errorlevel 0 goto no_error

:error
echo Got an error
goto end

:no_error
echo It's all good!
:end
0
 

Author Comment

by:bob001
Comment Utility
This would work.  Do you know any other mechanism of checking the status of another program other than running it within the script, such as passing a flag in a enviroment variable?
0
 
LVL 8

Expert Comment

by:Here2Help
Comment Utility
Hey.

Try the code below to wait for a program to terminate before processing rest of batch.

Start /wait x:\path\file.


For help with start use the Start /?  switch.
0
 

Author Comment

by:bob001
Comment Utility
Here2Help,
If I use start, how do I know the return status of the program I wait for?
0
Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

 

Accepted Solution

by:
HandsomeBob earned 20 total points
Comment Utility
you mean the errorlevel right?

After starting the program, like so:

start another_program.exe
set err=%errorlevel%

now you just do whatever you want with the %err% variable.

Typically, if it's successful, the %err% variable would be 0, else, and error. You can do something dependant on the errorlevel, like so:

if %err%==0 (
   :: No error. Do whatever ...
) ELSE (
   :: An error. Do whatever ...
)

Or, if each process would envolve using more scopes, then use this:

if %err%==0 goto :NOERROR

:: Do whatever here for if there is an error.
goto :EOF

:NOERROR

:: Do whatever here for if there is no error.

:EOF
exit /b


Best of luck,
-B
0
 
LVL 38

Expert Comment

by:BillDL
Comment Utility
To assist with the actual scheduling of the batch file, Eric Phelps created a simple command line scheduler.

Download it, unzip it to any folder, and read the "readme.txt" file for the syntax.  It uses an .ini file that can easily be tailored to suit your needs.

http://www.ericphelps.com/schedule/schedule.zip
0
 

Expert Comment

by:HandsomeBob
Comment Utility
Good to see you around again Bill :o)  - You been hiding? :P
0
 
LVL 38

Expert Comment

by:BillDL
Comment Utility
Nope, I hide most of the time in the place I know best - Windows 98 topic area, but have the occasional foray into other areas to see if I know enough to make any sensible and useful suggestions  :-)
0

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

The following is a collection of cases for strange behaviour when using advanced techniques in DOS batch files. You should have some basic experience in batch "programming", as I'm assuming some knowledge and not further explain the basics. For some…
TOMORROW TOMORROW.BAT is inspired by a question I get asked over and over again; that is, "How can I use batch file commands to obtain tomorrow's date?" The crux of this batch file revolves around the XCOPY command - a technique I discovered w…
This video discusses moving either the default database or any database to a new volume.
This tutorial demonstrates a quick way of adding group price to multiple Magento products.

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now