0 分享
图片尺寸太大影响网页加载速度,建议本地处理完后再上传,以下代码为例,
在桌面新建两个文件夹,一个为源图片文件夹in,一个为输出文件夹为out
以管理员身份运行此bat文件,图片保存到in文件夹后,将自动调整大小、压缩并保存到out文件夹
代码如下,保存为.bat文件
@echo off
setlocal enabledelayedexpansion
chcp 65001 >nul
title 图片自动处理监控
:: 本文件需管理员身份运行
:: ========== 配置 ★需要修改以下3个路径★ ==========
:: 源文件夹路径
set "SOURCE_DIR=C:\Users\admin\Desktop\in"
:: 输出文件夹路径
set "TARGET_DIR=C:\Users\admin\Desktop\out"
:: 程序路径 命令行版本下载地址 https://download.xnview.com/NConvert-win64.zip
set "NCONVERT=K:\图像网站\xnconvert_92516\NConvert\nconvert.exe"
:: 以下默认无需修改
if not exist "%SOURCE_DIR%" mkdir "%SOURCE_DIR%"
if not exist "%TARGET_DIR%" mkdir "%TARGET_DIR%"
echo ========================================
echo 图片自动处理监控
echo 源文件夹: %SOURCE_DIR%
echo 目标文件夹: %TARGET_DIR%
echo ========================================
echo.
:loop
set processed=0
for %%f in ("%SOURCE_DIR%\*.jpg" "%SOURCE_DIR%\*.jpeg" "%SOURCE_DIR%\*.png") do (
set "filename=%%~nf"
set "ext=%%~xf"
:: 目标文件路径
set "target_file=%TARGET_DIR%\!filename!.jpg"
if not exist "!target_file!" (
set /a processed+=1
echo [%time%] 处理: %%~nxf
"!NCONVERT!" -ratio -resize 1024 768 -out jpeg -q 80 -opthuff -o "!target_file!" "%%f"
:: 检查是否成功
if exist "!target_file!" (
echo 成功 → !target_file!
:: 移动源文件到已处理文件夹
set "processed_dir=%SOURCE_DIR%\已处理"
if not exist "!processed_dir!" mkdir "!processed_dir!"
move "%%f" "!processed_dir!\%%~nxf" >nul 2>nul
) else (
echo 失败!
:: 检查是否在源文件夹生成了 _1 文件
if exist "%SOURCE_DIR%\!filename!_1.jpg" (
echo 注意:文件被输出到源文件夹了!
move "%SOURCE_DIR%\!filename!_1.jpg" "!target_file!" >nul 2>nul
)
)
)
)
if !processed! gtr 0 (
echo 本轮处理了 !processed! 个文件
)
:: 等待3秒
timeout /t 3 /nobreak >nul
goto loop另外,也可以使用可视化版本(xnconvert),百度即可
