一个朋友在【好孩子】工作,每天都需要根据客户需要,从图片库中查找和拷贝出需要的图片,客户需要的图片是配置在一个文件picture_list.txt中的,图片库所包含的目录是配置在picture_directory.txt中。
其中picture_list.txt内容如下:
abc_1_01.jpg
abc_1_02.jpg
abc_1_03.jpg
abc_1_04.jpg
图片库picture_directory.txt内容如下:
D:/picture_1
F:/picture_2
F:/picture_3
批处理脚本如下(查找到的图片会保存在Destination目录中):
-----------------------------------------------------------------------------
@echo off
rem 图片目录列表在picture_directory.txt中
set PICTURE_DIR=picture_directory.txt
rem 想要查找和拷贝的文件名列表
set PICTURE_LIST=picture_list.txt
rem 图片保存目录(Destination)
set DESTINATION=D:/MyProject/BatchProgram/Copy_Pictures/Destination
rem 开始处理
if NOT EXIST %PICTURE_LIST% echo “Error: 找不到图片列表文件(picture_list.txt)”
if NOT EXIST %PICTURE_dir% echo “Error: 找不到图片目录列表(picture_directory.txt)”
for /F "tokens=1" %%a in (%PICTURE_LIST%) do @call :READDIR %%a
rem 查找文件并拷贝到指定目录
:READDIR
set PICTURE_NAME=%~1
for /F "tokens=1" %%b in (%PICTURE_DIR%) do @call :FINDANDCOPY %%b
:FINDANDCOPY
set FIND_DIR=%~1
cd /d %FIND_DIR%
if EXIST %PICTURE_NAME% (
copy %PICTURE_NAME% %DESTINATION%
echo "Info: [%PICTURE_NAME%] found in [%FIND_DIR%]"
echo "Info: copy [%PICTURE_NAME%] to [%DESTINATION%] finished"
)