我每天都尝试使用 Windows 任务计划程序运行 Matlab 脚本。我使用的是 Matlab R2011b 64 位和 Windows 7。根据 Matlab,myfile.m
可以从命令行运行脚本,如下所示:
matlab -r myfile
在我的旧电脑(32 位 XP)上,我可以通过在 XP 任务计划程序的“运行”窗口中输入以下内容来执行该脚本:
C:\PROGRA~1\MATLAB\R2010a\bin\matlab.exe -r myfile;quit
但是,当我在新计算机的 Windows 7 任务计划程序中输入以下内容时,该任务保持排队状态并且不会运行:
C:\PROGRA~1\MATLAB\R2011b\bin\matlab.exe -r myfile;quit
刚刚发现,如果我选择“仅在用户登录时运行”,它可以运行,但我需要它“无论用户是否登录都运行”。在 matlab.exe 的属性下,它显示管理员拥有完全控制权,而我目前使用管理员帐户登录,因此无法找出问题所在。有什么建议吗?或者,是否可以在 Windows 7 上运行 XP 版本的任务计划程序,因为我从未遇到过这些问题?
答案1
它对我有用,使用以下步骤:
- 在任务计划程序中,单击“创建任务...”。
- 设置名称,触发时间等。
- 在操作选项卡中,单击“新建...”。“操作”应保留为“启动程序”。
- 对于“程序/脚本”,使用“浏览...”找到 Matlab 可执行文件,它应该设置如下值:
"C:\Program Files\MATLAB\R2011a\bin\matlab.exe"
。 - 将参数设置为:
-r scriptname;quit
。您不需要.m
if 那是脚本扩展。 - 将“开始于”值设置为包含脚本文件的目录,例如:
C:\Folder
。
答案2
我建议使用真实目录名而不是 PROGRA~1。这只是为了向后兼容 FAT。