我正在尝试使用Windows任务计划程序启动Matlab并运行在特定时间安排的脚本。
如果我使用计划任务,我可以看到Matlab启动,但最后一次无法加载脚本并返回下面的错误
??? Unexpected Matlab operator.
你知道它是什么吗?为什么?
我使用以下语法
c:\app\matlab\bin\matlab.exe -r c:\MyURL\ScriptFile.m
如果我手动加载脚本并运行它会告诉我该文件不在路径中,所以给ms选择
任何选择都可以,脚本运行正常。
答案 0 :(得分:3)
Matlab从其主目录开始,-r
要求您的函数使用引号,这就是您收到错误的原因。
您需要先更改为工作区,语法如下:
matlab -sd pathToYourWorkspace -r "function(parameters)"
也许您还想避免完整加载整个Matlab工作环境,所以最后添加:
-nodesktop -nosplash
如果您执行任务,那么您是否多次执行此操作?您是否知道上面的每个函数调用都会打开一个新的Matlab实例? This question可能会有帮助。
从评论中:当然你可以使用命令run
来调用脚本,无论它在哪里。
"run('c:\MyURL\ScriptFile.m')"
是"functionName(YourArgs)"
因为run
是一个函数而字符串'c:\MyURL\ScriptFile.m'
是它的参数。在这种情况下,通常不需要在之前更改工作区。