[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [分享]批处理调用imagemagick把子文件夹下的图片拼接长图

【问题描述】

用imagemagick怎么处理每个子文件夹下的图片单独拼接长图呢

"%montage%" "%%~i\*.jpg" -tile 1x2 -geometry +10+10 "%%~i\拼接-.jpg"
调整 1x2 来控制拼接的数量

怎样根据图片数量自动获取 1x2 这个值呢?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

【解决方案】
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. REM 处理该文件夹下(包括子文件夹)的图片
  4. set "SrcFolder=C:\Users\Administrator\Desktop\1"
  5. REM 根据自己电脑实际情况设置ImageMagick的路径
  6. set "path=C:\Program Files\ImageMagick;%path%"
  7. if not exist "%SrcFolder%" (
  8.     echo 找不到待处理的图片文件夹
  9.     pause
  10.     goto :eof
  11. )
  12. for /f "delims=" %%i in ('dir /b /s /ad "%SrcFolder%"') do (
  13.     set "n=0"
  14.     for /f "delims=" %%j in ('dir /b /a-d "%%i\*.jpg"') do (
  15.         set /a n+=1
  16.     )
  17.     echo 正在处理文件夹:%%i [包含!n!个jpg图片]
  18.     montage.exe "%%~i\*.jpg" -tile 1x!n! -geometry +10+10 "%%~i\拼接.jpg"
  19. )
  20. pause
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

批处理调用 ImageMagick 应用实例汇总

把子文件夹下的图片拼接长图
http://bbs.bathome.net/thread-60605-1-1.html

把指定文件夹下的jpg图片合并转换成pdf
http://bbs.bathome.net/thread-60630-1-1.html

批处理+ImageMagick把每张图片单独转换一个pdf
http://bbs.bathome.net/thread-66410-1-1.html

批处理从指定像素点位置剪裁多个图片合成一个PDF文件
http://bbs.bathome.net/thread-62067-1-1.html

批量加相框阴影,然后缩放到背景图,背景图使用图片的主色调
http://bbs.bathome.net/thread-60512-1-1.html#pid247543

裁剪扫描图片的空白边缘
http://bbs.bathome.net/thread-41894-1-1.html

用 ImageMagick + Ghostscript 转换 PDF 为图片
http://bbs.bathome.net/thread-34312-1-1.html

生成图片的缩略图
http://bbs.bathome.net/thread-2764-1-1.html

生成图片的九宫格缩略图
http://bbs.bathome.net/thread-62743-1-1.html

批处理批量剪裁目录下图片 从底部剪裁25个像素
http://bbs.bathome.net/thread-62466-1-1.html

图片的水平翻转和左右拼接
http://bbs.bathome.net/thread-64896-1-1.html#pid263482

只转换指定像素的图片
http://bbs.bathome.net/thread-65579-1-1.html#pid266428
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 vvei 于 2024-10-17 03:02 编辑

回复 2# Batcher


新手,
不知道为什么无效

montage.exe "*.jpg" -tile 1x2 -geometry +10+10 "拼接.jpg"
就没问题

TOP

本帖最后由 aloha20200628 于 2024-10-18 21:59 编辑

回复 4# vvei

以下代码存为 test.bat 运行,须从本坛第三方下载 montage.exe(7.0.3.7版 或 6.9.2.6版)http://bcn.bathome.net/s/tool/index.html?key=montage 置于 test.bat 同目录
备注》若采用从官网下载的最新版 montage.exe 会因其默认utf-8编码导致中文路径文件名可能出错...
  1. @echo off & (for /r /d %%d in (*) do if exist "%%d\*.jpg" for /f %%n in (
  2. 'dir /b/a-d "%%d\*.jpg"^|find /c /v "" '
  3. ) do montage.exe "%%d\*.jpg" -tile 1x%%n -geometry +10+10 "%%d\%%~nd@拼接.jpg") 2>nul
  4. pause&exit/b
复制代码

TOP

返回列表