使用.bat文件在Windows上逐个运行Matlab命令

时间:2016-02-28 19:33:02

标签: windows matlab batch-file

我正在尝试在不同的文件上运行一个函数;我想使用Bash-Like脚本来做到这一点。当我在网上看时;我发现我可以使用.bat文件。

我的.bat文件包含此

matlab -bodesktop -nosplash -r myFunction('input_1.txt')
matlab -bodesktop -nosplash -r myFunction('input_2.txt')
matlab -bodesktop -nosplash -r myFunction('input_3.txt')
matlab -bodesktop -nosplash -r myFunction('input_4.txt')
matlab -bodesktop -nosplash -r myFunction('input_5.txt')

当我双击该文件时,似乎这些命令并行运行,这会导致PC崩溃。

我在Matlab论坛上寻找替代解决方案,但无法与我合作

我找到了另一种选择:

start -wait matlab -bodesktop -nosplash -r "myFunction('input_1.txt');exit"
..

以前用过这个吗?

2 个答案:

答案 0 :(得分:1)

有两个matlab二进制文件,一个matlabroot/bin另一个matlabroot/bin/win64/。第一个只是一个启动器应用程序,通常在主应用程序成功启动后立即终止。要在主应用程序终止之前保持打开状态,您必须在-wait中使用matlab.exe选项(不要与start -wait选项混淆,可以一起使用bot。)

在你的情况下试试:

matlab -wait -nodesktop -nosplash -r myFunction('input_1.txt')

(我假设您打算使用" nodesktop")。

解释了窗口的所有启动参数here in the documentation。 (您必须单击"选项1 ...选项N"以展开相关部分。)

答案 1 :(得分:-2)

首先检查您是否正确拼写了拼写选项。 Click here for the options.

试试这个:

matlab -wait -nodesktop -nosplash -r "myFunction('input_1.txt')"

编辑:

默认情况下,当您从脚本调用matlab命令时,该命令将启动MATLAB,然后立即执行脚本中的下一个语句。 -wait选项暂停脚本,直到MATLAB终止。

在启动脚本中使用-wait选项来处理MATLAB的结果。使用此选项调用MATLAB会阻止脚本继续运行,直到生成结果。