Start system command or run batchfile in background

36 views (last 30 days)
Hi,
In short I am trying to run a series of batchfiles in parallel inside a for loop by using system('start my command iteration i'). I use this 'start' option to make Matlab run the system command but not wait for the command to complete and effectively run these commands in parallel (as described in an earlier forum question) .
system('start illum_204_4_18_13.bat')
This works as it should and saves computation time compared to running in series using.
system('illum_204_4_18_13.bat').
However I am not able to supress to command prompt windows from popping up. I read that adding an '&' at the end of my command should solve this but I have been unsuccessfull in applying this.
Running the following makes two command prompt windows pop up:
system('start illum_204_4_18_13.bat &')
I have already tried using Matlab's built in parallel processing capabilities (parfor) with the system('my command') method but Matlab's parallel overhead makes the script slower than doing it in series.
Kind regards,
Samuel

Accepted Answer

Samuel de Vries
Samuel de Vries on 18 Dec 2017
The solution was to run the batchfiles as following: system('start /b yourbatchfile.bat'). The /b will prevent the command shell from opening a new window. I realise now that this question was more of a windows command shell question than a Matlab one.

More Answers (0)

Categories

Find more on System Identification Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!