I have a batch file which calls another batch file that exists in PATH directory (basically calling an executable with additional switches.)

: bar.bat:
foo.bat file1.txt
foo.bat file2.txt
etc.

In foo.bat:

foo.exe -t -s %1

bar.bat executes the first command but exits immidately (i.e. working on file1.txt only)

How can I make this batch file to invoke the other batch file more than once?

link|improve this question

50% accept rate
feedback

5 Answers

up vote 12 down vote accepted

Use the CALL keyword:

call foo.bat file1.txt
call foo.bat file2.txt
link|improve this answer
1  
<copied from Duncan Smart's answer, just to keep it together> In addition to @splattne's answer, use exit /b in the CALLed batch file if you need to return early. – Brad Bruce May 26 '09 at 11:33
1  
You can also use goto :eof to return early. exit /b is usually only needed if you need the return code. – Joey Jan 11 '10 at 9:21
feedback

In addition to @splattne's answer, use exit /b in the CALLed batch file if you need to return early.

link|improve this answer
feedback

Another option (for compatibility with DOS prior to version 3.3 :-) ) is to call the command process with the child (/c) option and the name of the other batch file to process. That will also do a call instead of a chain, and will even work on truly ancient machines (just in case someone runs across this and cares). :-)

link|improve this answer
feedback

@echo off

echo WbLegalReport.cmd

i:

cd I:\CFS\Batch\jarDir

echo %CD%

WbLegalReport.cmd

echo %CD%

echo WatchResrAddDeleted.cmd

echo %CD%

WatchRestrAddDeleted.cmd

echo %CD%

What I am trying to do here is call these two batch files in a sequence.

Unable to do so.

help please.

Acutally it is failing at the child script, As the control does not return back to the main script

link|improve this answer
feedback

Sanket, don't call the batch file directly. Use the "CALL" command. See splattne's example.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

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