windows 批量将图片等比缩小(右键发送到bat文件) - NOTEBOOK
windows 批量将图片等比缩小(右键发送到bat文件)
系统脚本/命令发布于 2026-05-21
摘要 : 实现:将多个图片右键发送到bat文件,批量将图片缩小并保存在原路径下。
可输入最大像素数值,留空则使用默认的1000px。
仅缩小不放大,图片质量为80%。所以哪怕像素不缩小,文件尺寸也会变小。
注意:需要先安装 ImageMagick 。
支持文件名包含空格的文件。
❱ 下载链接
官网下载 ImageMagick将以下代码存成
编码为 ANSI 的 bat 文件(文件名可设置为:图片-等比缩小 ),存放路径为 :
C:\Users\用户名\AppData\Roaming\Microsoft\Windows\SendTo
@echo off
chcp 936 >nul
title 图片批量等比缩放压缩工具
cls
:: 默认最大像素1000
echo.
echo 原图压缩!请输入最大像素。
set "maxpx=1000"
echo 直接回车默认使用 1000 像素
set /p maxpx=请输入图片最大边长像素值:
:: 输出前缀、画质参数
:: set "prefix=resize%maxpx%_"
:: 不增加前缀,以覆盖原文件
set "prefix="
set "quality=80"
:: 循环逐个读取选中文件,兼容空格文件名
:loop
if "%~1"=="" goto done
set "src_file=%~1"
set "file_dir=%~dp1"
set "file_name=%~n1"
set "file_ext=%~x1"
:: 执行magick缩放,> 符号^转义,只缩小不放大
magick "%src_file%" -resize %maxpx%x%maxpx%^> -quality %quality% "%file_dir%%prefix%%file_name%%file_ext%"
:: 关键:强制切回简体中文编码936,解决结尾乱码
chcp 936 >nul
shift
goto loop
:done
echo.
echo ==============================================
echo 批量缩放完成!
echo 限制最大边长:%maxpx% 像素
echo 输出画质等级:%quality%%
:: echo 命名格式:%prefix%原文件名.后缀
echo ==============================================
echo.
:: 由于是原图压缩,所以留下提示窗口(不自动关闭)
echo 请按下回车键关闭窗口...
pause >nul
❱ 相关搜索
CMD ImageMagick