我正在尝试启动 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'
它的参数。在这种情况下,通常不需要事先更改工作区。