标题: [文本处理] 【已解决】求批处理怎么把当前子文件夹的图片合并成九宫格缩略图 [打印本页]
作者: 未知2022 时间: 2022-5-15 18:10 标题: 【已解决】求批处理怎么把当前子文件夹的图片合并成九宫格缩略图
本帖最后由 未知2022 于 2022-5-16 12:27 编辑
比如 我的F:\图片\ 文件夹下面有
F:\图片\1\
F:\图片\2\
等子文件夹,
里面有大约9张图片,
求怎么批量合并成横3竖3的缩略图,求大神帮忙!!!!!!!!有软件可以做到,但好像不能批量,只能一个个合并太慢了
作者: Batcher 时间: 2022-5-15 20:53
回复 1# 未知2022
请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA- @echo off
- REM 根据自己电脑实际情况设置ImageMagick的路径
- set "path=C:\Program Files\ImageMagick;%path%"
- REM 设置图片缩略图放在哪个文件夹
- set "DstFolder=NewThumbnail"
-
- if not exist "%DstFolder%" (
- md "%DstFolder%"
- )
- for /f "delims=" %%i in ('dir /b /ad ^| findstr /v /x "%DstFolder%"') do (
- echo 正在处理文件夹:%%i
- montage.exe "%%i\*.jpg" -tile 3x3 -background none -resize 200x200 "%DstFolder%\%%~nxi.png"
- )
复制代码
作者: 未知2022 时间: 2022-5-15 21:13
回复 2# Batcher
感谢老大回复,
已经设置为ansi了,还是没有任何反应,老大看看哪里出错了
ImageMagick已经安装了
REM 根据自己电脑实际情况设置ImageMagick的路径
set "path=C:\Program Files\ImageMagick"
REM F:\11\99
set "DstFolder=NewThumbnail"
if not exist "%DstFolder%" (
md "%DstFolder%"
)
for /f "delims=" %%i in ('dir /b /ad ^| findstr /v /x "%DstFolder%"') do (
echo 正在处理文件夹:%%i
montage.exe "%%i\*.jpg" -tile 3x3 -background none -resize 200x200 "%DstFolder%\%%~nxi.png"
)
pause
报错信息
F:\11\99>REM 根据自己电脑实际情况设置ImageMagick的路径
F:\11\99>set "path=C:\Program Files\ImageMagick"
F:\11\99>REM F:\11\99
F:\11\99>set "DstFolder=NewThumbnail"
F:\11\99>if not exist "NewThumbnail" (md "NewThumbnail" )
F:\11\99>for /F "delims=" %i in ('dir /b /ad | findstr /v /x "NewThumbnail"') do (
echo 正在处理文件夹:%i
montage.exe "%i\*.jpg" -tile 3x3 -background none -resize 200x200 "NewThumbnail\%~nxi.png"
)
'findstr' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
F:\11\99>pause
请按任意键继续. . .
作者: 未知2022 时间: 2022-5-15 21:28
本帖最后由 未知2022 于 2022-5-15 21:29 编辑
回复 2# Batcher
暂时找到了一个测试通过可以合并图片的批处理
ffmpeg -re -i 001.jpg -re -i 002.jpg -re -i 003.jpg -re -i 004.jpg -filter_complex "nullsrc=size=7680x4320 [base];[0:v] setpts=PTS-STARTPTS,scale=3840x2160 [upperleft];[1:v] setpts=PTS-STARTPTS, scale=3840x2160 [upperright];[2:v] setpts=PTS-STARTPTS, scale=3840x2160 [lowerleft];[3:v] setpts=PTS-STARTPTS, scale=3840x2160 [lowerright]; [base][upperleft] overlay=shortest=1 [tmp1]; [tmp1][upperright] overlay=shortest=1:x=3840 [tmp2]; [tmp2][lowerleft] overlay=shortest=1:y=2160 [tmp3]; [tmp3][lowerright] overlay=shortest=1:x=3840:y=2160" output.png
不过这个脚本缺点很大,首先只能一个个合并,不能子目录,其次需要固定文件名
作者: Batcher 时间: 2022-5-16 08:56
回复 3# 未知2022
2楼代码第3行你设置错了,请再试试根据自己的实际情况设置蓝色部分:
set "path=C:\Program Files\ImageMagick;%path%"
作者: 未知2022 时间: 2022-5-16 12:19
回复 5# Batcher
现在可以顺利合并了,但是还是有很多没办法解决的。。
REM 根据自己电脑实际情况设置ImageMagick的路径
set "path=C:\Program Files\ImageMagick-7.1.0-Q16;%path%"
REM F:\11\9
set "DstFolder=NewThumbnail"
if not exist "%DstFolder%" (
md "%DstFolder%"
)
for /f "delims=" %%i in ('dir /b /ad ^| findstr /v /x "%DstFolder%"') do (
echo 正在处理文件夹:%%i
montage.exe "%%i\*.jpg" -tile 3x3 -background none -resize 1920x1080 "%DstFolder%\%%~nxi.png"
)
pause
resize 1920x1080 这里无论怎么改,合并后的分辨率都不变,只有384X378 而且合成的图片间很多空白
作者: 未知2022 时间: 2022-5-16 12:25
回复 5# Batcher
感谢老大,已经顺利解决分辨率的问题了!!!!!!!!!!!!自己修改了半天各种参数
作者: Batcher 时间: 2022-5-16 14:20
回复 7# 未知2022
请把最终的代码发出来给大家分享一下吧
作者: 未知2022 时间: 2022-5-16 14:59
本帖最后由 未知2022 于 2022-5-24 02:41 编辑
REM 根据自己电脑实际情况设置ImageMagick的路径
set "path=C:\Program Files\ImageMagick-7.1.0-Q16;%path%"
REM F:\11\9
set "DstFolder=NewThumbnail"
if not exist "%DstFolder%" (
md "%DstFolder%"
)
for /f "delims=" %%i in ('dir /b /ad ^| findstr /v /x "%DstFolder%"') do (
echo 正在处理文件夹:%%i
montage.exe "%%i\*.jpg" -tile 3x3 -background none -resize 640x480 "%DstFolder%\%%~nxi.png"
)
pause
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |