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

[其他] 新手 求帮忙解决 批量等比缩放图片的bat 问题

1.输入设定目标尺寸(length*width)

2.对文件夹下图片进行等比缩放处理,
    如果图片的length 大于图片的width 则 将图片按照 目标尺寸length/图片尺寸length 的比例 进行缩放

    如果图片的length 小于或等于图片的width 则 将图片按照 目标尺寸width/图片尺寸width  的比例 进行缩放 ;

应用场景 :将图片按照桌面分辨率进行等比不失真缩放 。

论坛里面找了下 只有图片尺寸变更或者缩放的回答,查了下 nconvert 的指令 只发现 -ratio 这个指令能等比缩放 ;

新人 对 bat 指令刚接触还不是特别熟悉 ,求大佬帮忙。

本帖最后由 qu705196037 于 2024-1-23 20:25 编辑

回复 2# 77七


    可以实现缩放了,就是遇到个小麻烦

   就是我的图片有的是 jpeg和png格式的 ,我就将 这里的 for /f "delims=" %%i in ('dir /b /a-d *.jpg') do (   代码 改成了  for /f "delims=" %%i in ('dir /b /a-d  "*.jpg" "*.png" "*.jpeg" ') do (
   但是执行后发现 jpeg格式的文件 会生成一个同名的 jpg文件。、

   我将这里 nconvert -quiet -out jpeg -ratio -resize 0 %hh% "%%i" 改成了 nconvert -quiet -overwrite -ratio -resize 0 %hh% "%%i"  还是会生成一个新的jpg图片 不会覆盖 。
   有办法解决吗?

TOP

回复 5# 77七


    现在的情况是 1.jpeg 处理后 会生成一个 1.jpg ,原1.jpeg 也会存在,相当于多了一个文件。想 不生成新的,如果是 png、jpeg 、jpg的话 都是只是替换 不生成新的。

TOP

回复 7# 77七


   可以了 3QU

TOP

返回列表