今天想把前段时间去非洲的照片导出来,之前我都是发送到微信文件传输助手,然后一张张保存下来,虽然麻烦而且会被压缩,但是苦于没有办法。逛微博看到有数码博主推荐了 LocalSend ,从此一发不可收拾。如果我不看微博,我可能是世界上最后一个这样传照片的人。
今天尝试一次发送了 200 多张照片,等我查看文件的时候我傻眼了。我是刚知道,用 iPhone 或 iPad 拍照,照片默认是 .heic 格式。如果不是通过 iTunes 或其他软件导出来,类似 LocalSend 直接发送文件的话,结果都是 .heic。看官方介绍它体积小、画质好,但在 Windows 或部分软件中兼容性一般。
于是借助强大的 ChatGPT 寻求方法,并整理分享记录一下。
本文给出两套 Windows 批处理脚本(.bat):一键把 HEIC 批量转为 JPG(通用)或 WebP(更省空间)。
✔ 支持子目录递归、保留目录结构
✔ 自动旋转
✔ 进度条可视化
✔ 生成日志
✔ 简体中文提示
为什么要转格式?HEIC / JPG / WebP 对比
| 格式 | 优点 | 缺点 / 兼容性 | 适用场景 |
|---|---|---|---|
| HEIC | 体积小、画质好 | Windows / 部分软件不友好 | 苹果生态内使用 |
| JPG | 兼容性最好、通用 | 体积相对较大 | 打印 / 分享 / 全平台 |
| WebP | 更省空间、画质可观 | 老旧软件不支持 | 网站、图床、博客 |
一、准备工作:安装 ImageMagick
脚本基于开源工具 ImageMagick ,它能读取 HEIC 并输出多种格式。
- 前往下载页面,建议选择:
推荐安装包:
ImageMagick-7.x(Win64)Q16-x64-dll.exe
- 安装时建议勾选:
✅ Add application directory to your system path
✅ Install legacy utilities (e.g. convert)
- 安装完成后,按 Win + R 输入
cmd,执行:
magick -version
出现版本号代表安装成功。
LocalSend 会把 iPhone 原图(HEIC)无压缩地发到电脑,不会自动转 JPG;所以我们需要在电脑端批量转换,提高兼容性与效率。
二、脚本源码
脚本 A:HEIC → JPG
@echo off
setlocal enableextensions
title HEIC to JPEG (fixed)
set "SRC=%~1"
if "%SRC%"=="" set "SRC=%CD%"
set "OUT=%~2"
if "%OUT%"=="" set "OUT=%SRC%$1_jpeg"
set "QUALITY=%~3"
if "%QUALITY%"=="" set "QUALITY=92"
where magick >nul 2>&1 || (
echo [ERROR] magick.exe not found.
pause
goto :end
)
if not exist "%OUT%" mkdir "%OUT%" 2>nul
set /a TOTAL=0
for /r "%SRC%" %%F in (*.heic) do set /a TOTAL+=1
if %TOTAL% EQU 0 (
echo No HEIC files found.
pause
goto :end
)
set /a DONE=0
for /r "%SRC%" %%F in (*.heic) do call :DO_ONE "%%~fF"
pause
goto :end
:DO_ONE
set /a DONE+=1
set "IN=%~1"
set "TARGET=%OUT%\%~n1.jpg"
echo (%DONE%/%TOTAL%) %~nx1
if not exist "%TARGET%" (
magick "%IN%" -auto-orient -colorspace sRGB -quality %QUALITY% "%TARGET%"
)
goto :eof
:end
endlocal
脚本 B:HEIC → WebP
@echo off
setlocal enableextensions
title HEIC to WEBP (fixed)
set "SRC=%~1"
if "%SRC%"=="" set "SRC=%CD%"
set "OUT=%~2"
if "%OUT%"=="" set "OUT=%SRC%$1_webp"
set "QUALITY=%~3"
if "%QUALITY%"=="" set "QUALITY=85"
where magick >nul 2>&1 || (
echo [ERROR] magick.exe not found.
pause
goto :end
)
if not exist "%OUT%" mkdir "%OUT%" 2>nul
set /a TOTAL=0
for /r "%SRC%" %%F in (*.heic) do set /a TOTAL+=1
if %TOTAL% EQU 0 (
echo No HEIC files found.
pause
goto :end
)
set /a DONE=0
for /r "%SRC%" %%F in (*.heic) do call :DO_ONE "%%~fF"
pause
goto :end
:DO_ONE
set /a DONE+=1
set "IN=%~1"
set "TARGET=%OUT%\%~n1.webp"
echo (%DONE%/%TOTAL%) %~nx1
if not exist "%TARGET%" (
magick "%IN%" -auto-orient -colorspace sRGB -quality %QUALITY% -define webp:method=6 "%TARGET%"
)
goto :eof
:end
endlocal
三、使用方法
- 把
.bat脚本放到有 HEIC 的文件夹。 - 双击运行。
- 输出在
converted_jpeg或converted_webp目录。
- 第 1 个参数:源目录
- 第 2 个参数:输出目录
- 第 3 个参数:质量(JPG 建议 85~95,WebP 建议 75~90)
四、效果对比
| 类型 | 大小 | 说明 |
|---|---|---|
| HEIC 原图 | 3.23 MB | iPhone 直出 |
| JPG(质量 92) | 5.79 MB | 通用分享 |
| WebP(质量 85) | 2.49 MB | 适合网站 |
139 张照片:
- HEIC 总大小:238 MB
- JPG 总大小:367 MB
- WebP 总大小:138 MB
LocalSend 传原图 → 批量转 JPG(分享)或 WebP(博客) → 保留 HEIC 归档。
下载
结语
以上就是我在 Windows 上处理 iPhone HEIC 的实用方案:安装一次 ImageMagick,双击脚本即可批量转换。后续如果要支持 PNG / AVIF、EXIF 处理、尺寸限制等进阶功能,我会继续升级脚本版本。
这个方便,也能批量。我订阅了icloud+,照片视频都在上面,需要的时候可以自动下载成jpg格式。
买个nas啊!自己就同步了
OPPO相册的heic可以转吗
应该只要是这个格式就可以转换
我之前在大批量转码的时候,遇到过两个问题。1.调用GPU转码,容易出bug,部分图片转换后尺寸变小了。2.CPU转码时,可能没处理好EXIF逻辑,转的过程中丢了GPS方位信息。
我就喜欢简单粗暴的办法,😂
苹果的系统不知道,但如果是安卓的话,很多手机自带的文件管理器已经支持FTP功能了;或者安装MT管理器或者ES文件管理器,也能开FTP,直接通过FTP下载到电脑上
安卓之前差了数据线就可以, 安卓默认的照片格式应该就是JPEG吧导出来也不需要转换
不错 效果不错。自制软件。
Ai帮忙实现太多的想法了
你这个博客特效整的很好看啊,是自己做的吗?
现在这个主题是自己做的,全部是ai一步一步来的,在慢慢更新优化
网上也有不少转换的小软件,使用还是挺方便的。
脚本方便点,软件下载安装的,特别现在动不动都是广告和乱安装第三方软件