You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写Windows batch脚本调用ImageMagick按文件名匹配批量叠加PNG

批量PNG图片叠加Windows批处理脚本

前置要求

  • 已安装ImageMagick,且已将其安装路径添加到系统环境变量PATH中
  • 验证方式:按下Win+R输入cmd打开命令提示符,执行magick --version,正常返回版本信息即为配置成功

脚本代码

将以下内容复制到记事本,保存为merge_png.bat,编码选择ANSI即可:

@echo off
setlocal enabledelayedexpansion
chcp 65001 >nul

:: 配置文件夹路径,可根据实际情况修改
set "BG_PATH=C:\Users\User\Desktop\Backrounds"
set "OVERLAY_PATH=C:\Users\User\Desktop\Overlays"
set "OUTPUT_PATH=C:\Users\User\Desktop\MergedResult"

:: 自动创建输出文件夹
if not exist "%OUTPUT_PATH%" mkdir "%OUTPUT_PATH%"

:: 遍历所有Overlay层PNG文件
for %%i in ("%OVERLAY_PATH%\*.png") do (
    :: 拆分文件名提取末尾颜色字段
    for /f "tokens=3 delims=-." %%c in ("%%~ni") do (
        set "color=%%c"
        :: 校验对应背景图是否存在
        if exist "!BG_PATH!\!color!.png" (
            echo 正在合成文件:%%~nxi
            :: 执行叠加操作,背景在下、overlay在上
            magick composite "%%~fi" "!BG_PATH!\!color!.png" "!OUTPUT_PATH!\%%~nxi"
        ) else (
            echo 跳过文件%%~nxi:未找到匹配的!color!背景图
        )
    )
)

echo 所有文件合成完成,结果已保存到:%OUTPUT_PATH%
pause

使用说明

  • 若使用的是旧版本ImageMagick,将脚本中的magick composite替换为composite即可正常运行
  • 合成后的文件与原Overlay文件同名,默认保存在桌面的MergedResult文件夹中
  • 脚本会自动跳过找不到对应背景图的文件,并在控制台输出提示

内容的提问来源于stack exchange,提问作者LePyka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 04:18:02