如何逐步在批处理文件中运行for循环

Posted

技术标签:

【中文标题】如何逐步在批处理文件中运行for循环【英文标题】:How to run for loop in batch file step by step 【发布时间】:2021-10-26 23:12:47 【问题描述】:

我试图从批处理文件中多次调用 MATLAB。这样,我多次使用 for 循环来执行我的 MATLAB 脚本。但是运行批处理文件后我得到的是同时运行所有 MATLAB 文件。我想要的是,首先,它运行一次 MATLAB,完成后,它开始运行下一次。这是我的代码。任何帮助将不胜感激!

@echo off
for /l %%x in (1, 1, 2) do  matlab -r "cd('H:\EngFiles\Ali\Backups codes\New set with multiple scenarios_Parallel');Bi_Objective_algorithm; exit"

pause

【问题讨论】:

【参考方案1】:

文档中的此页面描述了如何从 Windows 批处理脚本调用 MATLAB:https://www.mathworks.com/help/matlab/ref/matlabwindows.html

-wait 选项告诉matlab 命令在 MATLAB 退出之前不返回。例如:

matlab -wait -r "disp(1); exit"

但是,从 R2019a 开始,不再推荐使用 -r 开关。在这个版本中,他们引入了更好的 -batch 选项:

matlab -batch "disp(1)"

请注意,不再需要在命令中包含exit

【讨论】:

以上是关于如何逐步在批处理文件中运行for循环的主要内容,如果未能解决你的问题,请参考以下文章

批处理文件只运行一次,FOR循环出错

如何在批处理文件脚本的循环中打印程序的返回值?

如何在批处理文件中使用for循环列出文件夹中所有文件和目录的名称

批处理:如何在 FOR 循环中附加字符串

如何在 Windows 批处理文件中循环?

我将如何隔离或仅将第二个元素存储在批处理文件内的 for 循环中?