背景:在做图像采集和处理的工作上经常会遇到需要从很多子文件夹当中抽取某张图像出来,并进行中重命名。同时考虑到该脚本如果使用代码编写不便于测试人员使用,因此采用shell脚本编写。
脚本如下:(保存为bat后缀的文件即可)
@echo off
rem 设置开启变量延迟,解决运算符不存在的报错问题
setlocal EnableDelayedExpansion
rem 以防出错,建议处理的图像命名不要与重新命名的命名重复
rem 设置图像处理目录,设置任意根目录即可,脚本会遍历所有子目录
set image_path=D:480p
rem 设置图像的保存目录
set save_path=D:imagelib
set /a a=0
rem 检查保存目录是否存在,不存在则建立目录
if not exist %save_path% mkdir %save_path%
rem in()括号里面设置挑选的图像
for /r %image_path% %%i in(*5.yuv,*0.yuv)do(
set /a a+=1
rem 复制图像
echo copying:%%i
copy /y %%i %save_path%
rem 测试输出
echo filename:%%~nxi
echo rename:%save_path%\%%~nxi
rem 图像改名
ren %save_path%\%%~nxi "image_!a!.yuv"
)
pause