现在有个需求:D盘【文件夹1】里有一些图片文件,D盘【文件夹2】里有一些空文件夹,需要将【文件夹1】中的每张图片批量复制到【文件夹2】中所有以该图片文件名前缀开头的空文件夹里,如下图。
![图片[1]-将每张图片批量复制到所有以该图片文件名前缀开头的空文件夹里-十一张](https://www.11zhang.com/wp-content/uploads/2025/09/3b10e49dcf20250927224300.png)
十一张(www.11zhang.com)写了一个可以实现此功能的BAT脚本,这个脚本会自动匹配图片文件和对应的文件夹,并进行复制操作。
脚本代码
@echo off
setlocal enabledelayedexpansion
REM 设置源图片文件夹和目标空文件夹的路径
set "source_folder=D:\文件夹1"
set "target_root_folder=D:\文件夹2"
echo 开始处理图片批量复制...
REM 遍历源文件夹中的所有jpg图片
for /r "%source_folder%" %%I in (*.jpg) do (
REM 获取文件名(不含扩展名)
for %%F in ("%%~nI") do set "base_name=%%~F"
echo 正在处理图片: !base_name!.jpg
REM 遍历目标根文件夹,寻找所有以当前图片文件名开头的文件夹
for /d /r "%target_root_folder%" %%D in ("!base_name!-*") do (
echo 找到匹配的文件夹: %%~nxD
copy "%%I" "%%D\" >nul
echo 图片已复制到该文件夹
)
)
echo.
echo 所有操作完成!
pause
操作指南
1、将上面的代码复制到记事本中,然后将文件保存为 copy_images.bat 脚本,注意保存时“保存类型”要选择“所有文件”,而不是“文本文档”,如下图。
![图片[2]-将每张图片批量复制到所有以该图片文件名前缀开头的空文件夹里-十一张](https://www.11zhang.com/wp-content/uploads/2025/09/9b5f4c543120250927225431.webp)
2、将 copy_images.bat 脚本文件放置在D盘根目录或任何方便的位置,双击运行 copy_images.bat 脚本。脚本会显示处理进度,包括正在处理的图片文件名和找到的匹配文件夹。
![图片[3]-将每张图片批量复制到所有以该图片文件名前缀开头的空文件夹里-十一张](https://www.11zhang.com/wp-content/uploads/2025/09/a202c1f39020250928084136.webp)
![图片[4]-将每张图片批量复制到所有以该图片文件名前缀开头的空文件夹里-十一张](https://www.11zhang.com/wp-content/uploads/2025/09/88bfbedf4f20250927225432.jpg)
预期效果
以上面的图片文件名为例,运行脚本后:
●图片 CSXY-2023-XS11-Y-001-0001.jpg 会被复制到 CSXY-2023-XS11-Y-001-0001-1、CSXY-2023-XS11-Y-001-0001-2、CSXY-2023-XS11-Y-001-0001-3 等这些以该图片文件名前缀开头的空文件夹里
●图片 CSXY-2023-XS11-Y-001-0002.jpg 会被复制到 CSXY-2023-XS11-Y-001-0002-1、CSXY-2023-XS11-Y-001-0002-2、CSXY-2023-XS11-Y-001-0002-3 等这些以该图片文件名前缀开头的空文件夹里
●其它图片,复制同理!
温馨提示
1、测试:在正式处理大量文件前,建议先在少量文件和文件夹上测试脚本,确保结果符合预期。
2、文件覆盖:如果目标文件夹中已存在同名图片文件,copy命令会直接覆盖它。如果您希望避免覆盖,可以在 copy命令中添加 /y 参数(表示强制覆盖且不提示)或根据需要添加判断逻辑。
脚本解释
为了帮助您理解和使用,下面对脚本的关键部分进行说明,如果你不感兴趣,可以跳过以下内容。
1、路径设置:脚本开头的
2、核心逻辑:
●第一个 for 循环用于遍历【文件夹1】中的所有 .jpg图片文件。
●第二个 for /d 循环用于在【文件夹2】及其子目录中递归搜索所有以
2025-10-26 00:14:11,某些文章具有时效性,若有错误或下载地址失效,请在文末评论区留言





















暂无评论内容