happy 发表于 2015-10-16 09:00

自动运行Matlab程序

cdC:\Users\SONY\Desktop
start D:\matlab2012\bin\matlab.exe -r "run(' .\liu.m')"
由以上内容建立一个批处理文件如liu.bat
liu.m 简单举例如:
figure(1)
plot(1:100)
n=1
saveas(gca,strcat('C:\Users\SONY\Desktop','\',num2str(n)),'png')
exit
把做好的批处理文件liu.bat添加到计划任务,即可让电脑定时自动运行liu.m

-------------------------------------------------------------------------------------------
改进版本:
startmatlab.exe-r "run(' .\liu.m')"%%启动matlab,并运行liu.m文件。
运行完如果想退出的话有两种方法。
一:像上面一样在m文件里加上exit
二:在批处量文件liu.bat中加入进程中止语句
    taskkill/im matlab.exe
liu.bat 内容如下:
----------------liu.bat-------------------------------
cdC:\Users\SONY\Desktop
startmatlab.exe-r "run(' .\liu.m')"
taskkill/im matlab.exe
----------------liu.bat-------------------------------
在txt记事本中写下如上内容,保存为liu.bat即可。
很简单奥。如果工作需要m文件定时执行。
把做好的批处理文件liu.bat添加到计划任务,即可让电脑定时自动运行liu.m

尝试后会发现,matlab程序刚打开就被关闭了。因此。在start 和 taskkill代码间需要加一个间隔时间。这个就要看我们的liu.m运行完估计需要多长时间了。
--------------------------------------------
cdC:\Users\SONY\Desktop
start matlab.exe -r "run(' .\liujunhu.m')"
@ping -n 60 127.1 >nul 2>nul
taskkill/im matlab.exe
------------------------------------------
其中-n 后面为60秒。
这样问题就解决了。当然在liu.m里面加exit 是最省心的办法。
转自:http://blog.sina.com.cn/s/blog_9d0b00a4010131yk.html
页: [1]
查看完整版本: 自动运行Matlab程序