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

回复 1# crownking1983

以下代码存为 test.bat 置于图片根目录下运行,其结果会将根目录下的每个子目录中的 *.jpg 文件按预设宽度(即代码中 400 预设值,可自定义)等比缩放再拼接成一个纵向长图(修改代码中 -append 为 +append 即成横向长图,相应须调整预设宽度 400 为 x400 即成预设高度),其结果文件名格式为 '所在子目录名@all.jpg',magick.exe 的位置须预设在系统路径中或就在图片根目录下...
  1. @echo off &for /d /r %%d in (*) do (magick "%%d\*.jpg" -resize 400 -append "%%d\%%~nd@all.jpg") 2>nul
  2. pause&exit/b
复制代码
1

评分人数

TOP

本帖最后由 aloha20200628 于 2025-4-11 12:16 编辑

回复 3# crownking1983

补全对根目录即当前目录下 *.jpg 图片文件的处理,代码首行预设宽度值变量 w=400(可自定义)...
  1. @echo off &set "w=400"
  2. for %%d in ("%cd%") do (magick "*.jpg" -resize %w% -append "%%~nd@all.jpg") 2>nul
  3. for /d /r %%d in (*) do (magick "%%d\*.jpg" -resize %w% -append "%%d\%%~nd@all.jpg") 2>nul
  4. pause&exit/b
复制代码
或采用以下更为简化的同效代码...
  1. @echo off &for /f "delims=" %%d in ('echo,%cd%^&dir/b/s/ad') do (magick "%%d\*.jpg" -resize 400 -append "%%d\%%~nd@all.jpg") 2>nul
  2. pause&exit/b
复制代码
1

评分人数

TOP

本帖最后由 aloha20200628 于 2025-4-12 11:13 编辑

回复 5# crownking1983

图片根目录及其每个子目录中仅保留一个拼接结果文件,源 *.jpg 文件均会被删除...
  1. @echo off &for /f "delims=" %%d in ('echo,%cd%^&dir/b/s/ad') do (
  2.   magick -quiet "%%d\*.jpg" -resize 400 -append "%%d\#.$"
  3.   del /q "%%d\*.jpg" &ren "%%d\#.$" "%%~nd@all.jpg") 2>nul
  4. pause&exit/b
复制代码
1

评分人数

TOP

返回列表