Matlab 在使用任务调度程序计划时无法运行脚本



我正在尝试启动 Matlab 并使用 Windows 任务计划程序运行在特定时间调度的脚本。

如果我使用计划任务,我可以看到 Matlab 正在启动,但最后一个无法加载脚本并返回以下错误

??? Unexpected Matlab operator.

你知道它是什么,为什么吗?

我使用以下语法

c:appmatlabbinmatlab.exe -r c:MyURLScriptFile.m

如果我手动加载脚本并运行它,它会告诉我文件不在路径中,因此请让 ms 在

  • 更改当前目录
  • 将文件夹添加到路径

任一选择都可以,脚本运行正常。

Matlab 从其主目录开始,-r要求你的函数用引号引起来,这就是你得到错误的原因。

并且您需要先更改为工作区,语法如下:

matlab -sd pathToYourWorkspace -r "function(parameters)"

也许你还想避免整个 Matlab 工作环境的完全加载,所以在最后添加:

-nodesktop -nosplash

如果你运行你的任务是被搁置的,你是否多次执行?您是否知道像上面这样的每个函数调用都会打开一个新的 Matlab 实例?那么这个问题可能会有所帮助。


从评论中:当然,您可以使用命令run调用脚本,无论它在哪里。

"run('c:MyURLScriptFile.m')""functionName(YourArgs)"的一个例子

因为run是一个函数,字符串'c:MyURLScriptFile.m'它的参数。在这种情况下,通常不需要事先更改工作区。

最新更新