0
点赞
收藏
分享

微信扫一扫

Matlab自动修改参数、运行脚本批处理

郝春妮 2022-03-12 阅读 119

第一步:

windows安装sed,注意记住安装路径,后面要用到

GnuWin - Browse /sed/4.2.1 at SourceForge.net

选择4.2.1版本下载后安装即可

第二步:

打开windows终端(win+r后cmd)或者conda终端(推荐)

第三步:

进入到你matlab脚本文件夹下

cd /d your_file_path

第四步:

编写自动批处理脚本,在你matlab脚本同级文件夹下新建一个txt文本文档

我用的脚本代码

matlab -nosplash -nodesktop -r train
D:\setAZML\GnuWin32\bin\sed.exe -i "s/I=imread('[0-9]\{1,\}.JPG'/I=imread('2039.JPG'/" train.m
D:\setAZML\GnuWin32\bin\sed.exe -i "s/save [0-9]\{1,\}.txt/save 2039.txt/" train.m
ping 127.0.0.1 -n 10 >nul

代码解析

第一行:

matlab -nosplash -nodesktop -r train

-r代表运行脚本,后边的train是我的脚本名字,这里不要带后缀m

-nosplash代表不显示matlab的启动画面,-nodesktop代表不启动matlab的窗口,这两句是为了提高自动批处理时的效率。

第二行:

D:\setAZML\GnuWin32\bin\sed.exe -i "s/I=imread('[0-9]\{1,\}.JPG'/I=imread('2039.JPG'/" train.m

D:\setAZML\GnuWin32\bin\sed.exe 这是我的set安装路径里的sed.exe文件位置

-i 表示直接在当前脚本上改动

"s/I=imread('[0-9]\{1,\}.JPG'/I=imread('2039.JPG'/" train.m

拆开来看好理解一些

"s    /I=imread('[0-9]\{1,\}.JPG'/         I=imread('2039.JPG'/"        train.m

第一部分:s代表替换

第二部分:是你需要修改的代码,我需要替换的是数字,所以用 [0-9]\{1,\} 代表任意数字

第三部分:你想替换的内容

第四部分:你的脚本名字,注意这里需要带后缀.m

第三行:同第二行类似,也是我需要修改的部分

第四行:ping 127.0.0.1 -n 10 >nul

程序暂停10秒,根据自己需要修改-n后边的数字即可,ping ip就是检查网络通不通,用来暂停。

set详细用法可查阅   D:\setAZML\GnuWin32\doc\sed\4.2.1\sed-4.2.1\sed.pdf

第五步:根据自己需求修改代码后,关闭txt文本文档,修改其后缀名为bat,即windows批处理文件

第六步:打开你的matlab脚本,在最后面添加 quit

这一步用于程序执行完成后,关闭matlab执行窗口,减小内存占用

第七步:双击该bat文件开始自动批处理。

下面是我的bat文件代码,不会写循环,只能一个个改。

 

举报

相关推荐

0 条评论