Windows 批量转换 iPhone HEIC 照片

为什么要转格式?HEIC / JPG / WebP 对比

格式 优点 缺点/兼容性 适用场景
HEIC 体积小、画质好 Windows/部分软件不友好,预览/编辑有门槛 苹果生态内使用
JPG 兼容性最好、通用 体积相对大 打印/分享/全平台
WebP 更省空间、画质可观 老旧软件不支持 网站、图床、博客

Windows 批量转换 iPhone HEIC 照片

一、准备工作:安装 ImageMagick

脚本基于开源工具 ImageMagick,它能读取 HEIC 并输出多种格式。

1、前往下载页面,建议选择:

推荐安装包:ImageMagick-7.x(Win64)Q16-x64-dll.exe(64 位系统 / 16-bit 精度 / 动态版)

2、安装时建议勾选:

✅ Add application directory to your system path
✅ Install legacy utilities (e.g. convert)

3、安装完成后,按 Win+R 输入 cmd,执行下面指令,有版本号就代表安装成功,可以运行脚本了。

magick -version
关于 LocalSendLocalSend 会把 iPhone 原图(HEIC)无压缩地发到电脑,不会自动转 JPG;所以我们需要在电脑端批量转换,既保留原图质量,又提高后续使用的兼容性/效率。

二、脚本下载与源码

下面提供两套脚本源码。把代码复制到记事本,另存为 .bat 文件即可使用,记事本存储的时候选择UTF-8 无 BOM 或 ANSI 都行。

脚本 A:HEIC → JPG

heic2jpg.bat  默认质量:92; 输出目录:converted_jpg

@echo off
setlocal enableextensions
title HEIC to JPEG (fixed)

rem ===== Params =====
set "SRC=%~1"
if "%SRC%"=="" set "SRC=%CD%"
set "OUT=%~2"
if "%OUT%"=="" set "OUT=%SRC%\converted_jpeg"
set "QUALITY=%~3"
if "%QUALITY%"=="" set "QUALITY=92"

where magick >nul 2>&1 || (
  echo [ERROR] magick.exe not found. Install ImageMagick first.
  pause
  goto :end
)

if not exist "%OUT%" mkdir "%OUT%" 2>nul

rem ===== Count (single pattern to avoid double count) =====
set /a TOTAL=0
for /r "%SRC%" %%F in (*.heic) do set /a TOTAL+=1
if %TOTAL% EQU 0 (
  echo No HEIC files found in "%SRC%".
  pause
  goto :end
)

echo Source : %SRC%
echo Output : %OUT%
echo Format : JPEG
echo Quality: %QUALITY%
echo Files  : %TOTAL%
echo -----------------------------------------

rem ===== Convert =====
set /a DONE=0
for /r "%SRC%" %%F in (*.heic) do call :DO_ONE "%%~fF"

echo -----------------------------------------
echo Done. Output: "%OUT%"
pause
goto :end

:DO_ONE
set /a DONE+=1
set "IN=%~1"
set "TARGET=%OUT%\%~n1.jpg"
echo (%DONE%/%TOTAL%) %~nx1

if exist "%TARGET%" (
  echo   -> skip (exists)
) else (
  magick "%IN%" -auto-orient -colorspace sRGB -quality %QUALITY% "%TARGET%"
  if errorlevel 1 (echo   -> FAIL) else (echo   -> OK)
)
goto :eof

:end
endlocal

脚本 B:HEIC → WebP

heic2webp.bat 默认质量:85; 输出目录:converted_webp

@echo off
setlocal enableextensions
title HEIC to WEBP (fixed)

rem ===== Params =====
set "SRC=%~1"
if "%SRC%"=="" set "SRC=%CD%"
set "OUT=%~2"
if "%OUT%"=="" set "OUT=%SRC%\converted_webp"
set "QUALITY=%~3"
if "%QUALITY%"=="" set "QUALITY=85"

where magick >nul 2>&1 || (
  echo [ERROR] magick.exe not found. Install ImageMagick first.
  pause
  goto :end
)

if not exist "%OUT%" mkdir "%OUT%" 2>nul

rem ===== Count (single pattern to avoid double count) =====
set /a TOTAL=0
for /r "%SRC%" %%F in (*.heic) do set /a TOTAL+=1
if %TOTAL% EQU 0 (
  echo No HEIC files found in "%SRC%".
  pause
  goto :end
)

echo Source : %SRC%
echo Output : %OUT%
echo Format : WEBP
echo Quality: %QUALITY%
echo Files  : %TOTAL%
echo -----------------------------------------

rem ===== Convert =====
set /a DONE=0
for /r "%SRC%" %%F in (*.heic) do call :DO_ONE "%%~fF"

echo -----------------------------------------
echo Done. Output: "%OUT%"
pause
goto :end

:DO_ONE
set /a DONE+=1
set "IN=%~1"
set "TARGET=%OUT%\%~n1.webp"
echo (%DONE%/%TOTAL%) %~nx1

if exist "%TARGET%" (
  echo   -> skip (exists)
) else (
  magick "%IN%" -auto-orient -colorspace sRGB -quality %QUALITY% -define webp:method=6 "%TARGET%"
  if errorlevel 1 (echo   -> FAIL) else (echo   -> OK)
)
goto :eof

:end
endlocal

三、使用方法

最简单(双击运行)

  1. .bat 脚本放到有 HEIC 的文件夹。
  2. 双击运行,等待进度条完成。
  3. 输出在 converted_jpg 或 converted_webp 目录(保留原有子目录结构)。
  • 第 1 个参数:源目录(为空则默认当前目录)
  • 第 2 个参数:输出目录(为空则默认 converted_xxx
  • 第 3 个参数:质量(1~100;JPG 建议 85~95,WebP 建议 75~90)

四、常见问题

1)运行脚本提示找不到 magick
安装 ImageMagick 时请勾选 “✅ Add application directory to your system path”,或重启命令行窗口后再试。

2)HEIC 无法读取?
用命令检查:magick -list format | findstr /I heic。若无 HEIC 条目,换用推荐安装包重新安装(确保包含 HEIC/HEIF 支持)。

3)进度条不显示?
脚本调用的是内置 PowerShell(Windows 自带)。若被策略限制,可在 PowerShell 以管理员身份运行:Set-ExecutionPolicy RemoteSigned

4)是否会覆盖已存在文件?
脚本默认 跳过已存在同名目标文件(日志中会标注“跳过”)。你也可以改脚本:删除“已存在则跳过”的判断即可覆盖。

5)能否限制最大尺寸、同时压缩?
可以,在 magick 命令后追加 -resize 3000x3000\>(长边不超过 3000px)。

6)显示数量正在转换的数量不对,甚至超过一倍?
对,这个是因为用了两个通配符:*.heic *.HEIC。Windows 文件系统大小写不敏感,for /r 的匹配也是不区分大小写的——结果同一张图会被两个模式各匹配一次,统计数就翻倍(甚至会尝试转换两次,不过我们脚本里“已存在则跳过”会挡住)。

五、简单效果对比

类型 大小 说明
HEIC 原图 3.23 MB iPhone 直出
JPG(质量 92) 5.79 MB 通用、打印分享友好
WebP(质量 85) 2.49 MB 适合网站/图床,省流量
可以看得出来,.heic转换成.jpeg基本文件大小基本要增加80%,.heic转换成.WebP基本文件大小要减少23%,我总共139张照片,之前.heic格式文件夹大小是238 MB,转换成.jpeg后总文件大小是367 MB,转换成.WebP后总文件大小是138 MB
工作流建议:用 LocalSend把原图(HEIC)一次性传到电脑 → 跑脚本批量转 JPG(对外分享)或 WebP(上传博客/站点)→ 保留原图做长期归档。

六、下载

未知岛资源此资源为免费资源立即下载
Windows 批量转换 iPhone HEIC 照片-未知岛
Windows 批量转换 iPhone HEIC 照片
此内容为免费资源,请登录后查看
W0
免费资源
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容