[shell]批量抽取文件并重命名

背景:在做图像采集和处理的工作上经常会遇到需要从很多子文件夹当中抽取某张图像出来,并进行中重命名。同时考虑到该脚本如果使用代码编写不便于测试人员使用,因此采用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

 

posted @ 2020-12-15 10:47  ouhy  阅读(595)  评论(0编辑  收藏  举报