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

[文件操作] 【已解决】批处理文件夹下的所有图片按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 于 2025-2-4 04:50 编辑

安装ImageMagick后,https://imagemagick.org/script/download.php#windows
脚本1.bat,编码是UTF8,运行成千上万次magick.exe
  1. @echo off
  2. @REM 脚本编码utf8
  3. >nul chcp 65001
  4. cd /d "%~dp0"
  5. @REM 功能:按指定比例分割竖立的长图片,分割的小图片的宽度是固定的.
  6. @REM 设置 高度/宽度 的值
  7. set "h/w=4/3"
  8. for /f "delims=" %%A in ('dir /a-d-h /b *.jpg^|findstr /lvc:"-"') do (
  9.   echo 分割图片:%%A
  10.   magick.exe "%%~A" -crop %%[w]x%%[fx:w*%h/w%] -depth 8 -scene 1 "%%~nA-%%04d%%~xA"
  11. )
  12. pause
复制代码
脚本2.bat,编码UTF8,仅运行一次magick.exe
  1. @echo off
  2. @REM 脚本编码utf8
  3. >nul chcp 65001
  4. cd /d "%~dp0"
  5. @REM 功能:按指定比例分割竖立的长图片,分割的小图片的宽度是固定的.
  6. @REM 设置 高度/宽度 的值
  7. set "h/w=3/4"
  8. 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 -
  9. pause
复制代码
1

评分人数

微信:flashercs
QQ:49908356

TOP

回复 2# flashercs


    大佬!你太强悍了!!直接就解决了! 太感谢你了!!!

TOP

回复 2# flashercs


    大佬 我再追问一个问题哈 现在的编号是
    长图A0000.jpg 长图A0001.jpg 长图A0002.jpg 长图A0003.jpg
    后缀编号是从0000开始的
    请问如何改让它从0001开始,变成
    长图A0001.jpg 长图A0002.jpg 长图A0003.jpg 长图A0004.jpg

TOP

回复 4# crownking1983

2楼修改了; 参数 -scene 1就是 从1开始计数.
微信:flashercs
QQ:49908356

TOP

回复 5# flashercs


    哦哦哦 原来是这里 谢谢大佬!

TOP

回复 5# flashercs


    大佬 我再问您一个引申的问题哈 图片按照1:1的情况进行分割 命令是“>nul chcp 65001”
    如果我按照5:4 或 4:3 或 3:4 等等的比例进行分割的话 命令上该怎么改 有什么规律吗

TOP

回复 7# crownking1983


    2楼修改了, set "h/w=3/4" 是高度/宽度
1

评分人数

微信:flashercs
QQ:49908356

TOP

啊 , 原来是按 原始宽 的 1:1 , 楼主这1:1说的真是模糊

TOP

返回列表