How to run multiple batch files with one master batch file
Solution 1
I found a solution! I used this code in order to get the bat to open the three different bat files independently:
cd "\directory\bat1\"
start bat1.bat
cd "\directory\bat2\"
start bat2.bat
cd "\directory\bat3\"
start bat3.bat
Solution 2
If you use start, the other bat-files will create new process for each bat, and run them all at the same time.
cd "\directory\bat1\"
start bat1.bat
cd "\directory\bat2\"
start bat2.bat
cd "\directory\bat3\"
start bat3.bat
But if you want to run the next one after the last one is finished, you can use call
cd "\directory\bat1\"
call bat1.bat
cd "\directory\bat2\"
call bat2.bat
cd "\directory\bat3\"
call bat3.bat
don't forget the first \ at the beginning of the cd , otherwise it will try to change the directory into a subdirectory of the current working directory.
Solution 3
So i struggled with this problem, and none of these solutions or other ones worked. What I wanted to do in a "master" batch file was access subfolders and run batchfiles in those folders sequentially. This is what I ultimately ended up doing,
cd Folder1
call batch_cmd.bat
cd ..
cd Folder2
call batch_cmd.bat
cd ..
etc. etc. etc.
This format worked fine for me since I was using javascript/nodejs to generate those commands and batch files.
If you want to do something entirely in batch files then I'd suggest you look up powershell scripts instead.
Related videos on Youtube
JCTechie
Updated on September 18, 2022Comments
-
JCTechie over 1 year
I have three bat files I would like to run, in three different directories:
directory/bat1/bat1.bat
directory/bat2/bat2.bat
directory/bat3/bat3.bat
I would like to use one master .bat to start all of the other bats in their directories. I can't use call because I get errors because there are dependencies for each different bat in the directory. I tried using start but that doesn't work either, it just bring up a command prompt withing the folder.
I know this sounds a little confusing but all I want to do is use one single .bat file to run multiple .bat files independent from each other in their own directories.
-
DavidPostill about 8 yearsTry
cd
to each directory in turn then run the batch file ... -
JCTechie about 8 yearsWhat would that code look like? Would it be cd "directory/bat1/" start bat1.bat?
-
DavidPostill about 8 years
cd c:\directory\bat1 && bat1.bat
thencd c:\directory\bat2 && bat2.bat
etc -
JCTechie about 8 yearsThat did not work for me, it only ran the first batch file.
-
-
barlop about 8 yearsbut you wrote in your question "I tried using start but that doesn't work either, it just bring up a command prompt withing the folder." <-- and then you answered it using start. So what was it?
-
JCTechie about 8 yearsSorry for the confusion I didn't word it correctly. For some reason when I just ran. start \directory\bat1\bat1.bat it just opened a blank command prompt cded into the directory\bat1\ directory.
-
Kim Carlo about 6 yearsI tried this but after calling all the batch file, an endless loop of opening CMDs started to pop out
-
ffonz over 3 yearsInstead of doing
cd .. cd Folder2
you could do this at once withcd ..\Folder2