Start system command or run batchfile in background

82 vues (au cours des 30 derniers jours)
Samuel de Vries
Samuel de Vries le 15 Déc 2017
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

Réponse acceptée

Samuel de Vries
Samuel de Vries le 18 Déc 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.

Plus de réponses (0)

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by