标题: [文件操作] 【已解决】批处理文件夹下的所有图片按1:1分割成多个小图 并按原文件名加后缀编号 [打印本页]
作者: crownking1983 时间: 前天 15:17 标题: 【已解决】批处理文件夹下的所有图片按1:1分割成多个小图 并按原文件名加后缀编号
本帖最后由 crownking1983 于 2025-2-3 20:32 编辑
跪求批处理文件夹下的所有图片按1:1分割成多个小图 并按原文件名加后缀编号,跪求了!示例如下
如一个文件夹下有若干长图文件 长图A.jpg 长图B.jpg 长图C.jpg 长图D.jpg 都是长图文件
跪求批处理分别将所有长图分割成1:1的小图若干 然后按原文件名加后缀生成新的小图 如——
长图A 分割成 长图A001.jpg 长图A002.jpg 长图A003.jpg
长图B 分割成 长图B001.jpg 长图B002.jpg 长图B003.jpg 长图B004.jpg 长图B005.jpg
长图C 分割成 长图C001.jpg 长图C002.jpg 长图C003.jpg 长图C004.jpg
具体每个长图分成几张1:1的小图取决于长图能分多少张 如果批处理需要类似mogrify.exe配合也是可以的
网上软件很多 但都需要多步骤操作 不适合成千上万个文件批量操作 不如批处理一键批量方便
作者: flashercs 时间: 前天 16:09
本帖最后由 flashercs 于 2025-2-4 04:50 编辑
安装ImageMagick后,https://imagemagick.org/script/download.php#windows
脚本1.bat,编码是UTF8,运行成千上万次magick.exe- @echo off
- @REM 脚本编码utf8
- >nul chcp 65001
- cd /d "%~dp0"
- @REM 功能:按指定比例分割竖立的长图片,分割的小图片的宽度是固定的.
- @REM 设置 高度/宽度 的值
- set "h/w=4/3"
- for /f "delims=" %%A in ('dir /a-d-h /b *.jpg^|findstr /lvc:"-"') do (
- echo 分割图片:%%A
- magick.exe "%%~A" -crop %%[w]x%%[fx:w*%h/w%] -depth 8 -scene 1 "%%~nA-%%04d%%~xA"
- )
- pause
复制代码
脚本2.bat,编码UTF8,仅运行一次magick.exe- @echo off
- @REM 脚本编码utf8
- >nul chcp 65001
- cd /d "%~dp0"
- @REM 功能:按指定比例分割竖立的长图片,分割的小图片的宽度是固定的.
- @REM 设置 高度/宽度 的值
- set "h/w=3/4"
- cmd /q /c for /f "delims=" %%A in ('dir /a-d-h /b *.jpg^^^|findstr /lvc:"-"') do ( echo "%%~A" -crop %%[w]x%%[fx:w*%h/w%] -depth 8 -print "%%[f]\\n" -scene 1 -write "%%~nA-%%04d%%~xA" -delete 0--1 )|magick.exe -script -
-
- pause
复制代码
作者: crownking1983 时间: 前天 19:38
回复 2# flashercs
大佬!你太强悍了!!直接就解决了! 太感谢你了!!!
作者: crownking1983 时间: 前天 20:55
回复 2# flashercs
大佬 我再追问一个问题哈 现在的编号是
长图A0000.jpg 长图A0001.jpg 长图A0002.jpg 长图A0003.jpg
后缀编号是从0000开始的
请问如何改让它从0001开始,变成
长图A0001.jpg 长图A0002.jpg 长图A0003.jpg 长图A0004.jpg
作者: flashercs 时间: 前天 21:25
回复 4# crownking1983
2楼修改了; 参数 -scene 1就是 从1开始计数.
作者: crownking1983 时间: 前天 21:35
回复 5# flashercs
哦哦哦 原来是这里 谢谢大佬!
作者: crownking1983 时间: 昨天 04:00
回复 5# flashercs
大佬 我再问您一个引申的问题哈 图片按照1:1的情况进行分割 命令是“>nul chcp 65001”
如果我按照5:4 或 4:3 或 3:4 等等的比例进行分割的话 命令上该怎么改 有什么规律吗
作者: flashercs 时间: 昨天 04:52
回复 7# crownking1983
2楼修改了, set "h/w=3/4" 是高度/宽度
作者: Five66 时间: 昨天 12:07
啊 , 原来是按 原始宽 的 1:1 , 楼主这1:1说的真是模糊
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |