第一步:
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文件代码,不会写循环,只能一个个改。