借助 Windows 系统自带的“画图”应用,无需安装第三方软件即可离线批量将 WebP 图片转换为 JPG 格式。本文介绍三种实用方法:一、单张手动操作,利用画图的原生 WebP 读取能力另存为 JPG;二、通过双资源管理器窗口并排布局实现半自动流程;三、使用 PowerShell 调用画图并配合 SendKeys 模拟按键实现伪自动化处理。

手头积累了大量 WebP 格式图片,想批量转换成兼容性更佳的 JPG 格式,又不想安装新软件或上传到云端?其实 Windows 系统本身就能轻松完成这项任务。没错,就是那个看似普通的“画图”应用。从 Windows 10 某个版本起,它已经悄然具备读取 WebP 格式的能力。尽管不能一键全选批量导出,但通过组合几个巧妙的操作步骤,完全可以实现离线、免安装的批量转换。下面详细拆解具体操作方法。
一、使用“画图”逐张打开并另存为 JPG
这是最基础也是最可靠的方法。原理很简单:利用系统内置的解码器让“画图”打开 WebP 文件,再将其“另存为”JPG 格式。整个过程完全离线,适合处理数量较少或对稳定性要求较高的场景。
首先,在文件资源管理器中找到你的 WebP 图片。右键点击它,选择“打开方式”。如果“画图”就在菜单中,直接选中即可;若未显示,则点击“选择其他应用”,在列表中找到“画图”,并勾选下方的“始终使用此应用打开 .webp 文件”,以便日后操作更便捷。
图片在画图中打开后,点击左上角的“文件”菜单,选择“另存为”,再点击“浏览”。这里有一个关键步骤:在“保存类型”下拉框中,务必选择“JPEG 图像 (*.jpg, *.jpeg)”。千万不要因手快保留了默认的“WebP 图像”,或误选成 PNG 格式,否则前功尽弃。
最后,给文件取一个新名称,或直接按回车沿用原名,点击“保存”。一张 WebP 图片便成功转换为 JPG,原始文件依然保留在原位。
二、结合文件资源管理器实现半自动批量流程
逐张处理效率偏低?可以通过优化操作流程,借助并排窗口和视觉辅助形成一条高效的“流水线”。这虽然不是全自动,但能大幅减少重复操作和路径切换的麻烦。
第一步,打开两个文件资源管理器窗口。左边窗口指向存放所有 WebP 图片的源文件夹;右边窗口新建一个空白文件夹,专门存放转换后的 JPG 文件。
接着,将右边窗口的视图模式调整为“详细信息”,并启用“项目复选框”功能。这个小工具稍后能帮助你快速确认转换成果。
回到左边窗口。按住 Ctrl 键,一次性选中多张需要转换的 WebP 图片(建议不超过 5 张,以免窗口切换混乱)。选中后,右键点击,选择“打开方式”→“画图”。
此时,画图会依次打开选中的图片。你只需重复以下固定动作:点击“文件”→“另存为”→在弹出的窗口中快速切换到右边目标文件夹的路径→在“保存类型”中选择“JPEG 图像”→输入文件名(可直接复制原名并将后缀改为 .jpg)→点击“保存”。
每保存完一张,立即在右边窗口找到刚生成的文件,勾选它,并确认文件大小不为 0 KB,图标显示为 JPG 格式。这一步能及时发现问题,避免批量操作结束后才发现一堆无效文件。
三、使用 PowerShell 脚本调用画图实现伪批量自动化
如果你追求更高效率,并且不排斥与命令行打交道,可以尝试这个进阶方案。其原理是通过 PowerShell 脚本自动启动画图程序并模拟键盘操作来完成保存动作。需要注意的是,该方法依赖系统的 UI 自动化功能,稳定性中规中矩,最适合处理命名规则统一、数量在二三十张以内的任务。
首先,确保系统的一个辅助功能已启用。按下 Win + R 键,输入 optionalfeatures.exe 并回车。在弹出的窗口中找到“讲述人”功能,勾选它,然后根据提示重启电脑。此操作通常只需执行一次。
接下来,以管理员身份打开 PowerShell。输入命令:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser,然后按 Y 确认。这是为了允许运行即将创建的脚本。
然后,新建一个文本文件,将后缀改为 .ps1,例如命名为“convert_webp_to_jpg.ps1”。使用记事本打开它,编写脚本内容。核心思路是使用“Start-Process”命令启动画图程序(mspaint.exe)并传入 WebP 文件的路径,紧接着通过“SendKeys”方法模拟按下 Alt+F(打开文件菜单)、A(另存为)、J(选择 JPEG 格式)、Enter(确认保存)这一系列快捷键。
这里有一个重要细节:在每条启动画图的命令后面,最好插入一条“Start-Sleep -Seconds 3”的等待命令。这能为画图软件的界面留出足够的加载时间,防止按键指令发送过早导致操作错位。
最后,在运行脚本前,请确保目标输出文件夹为空,或里面没有同名的 JPG 文件。否则,画图在保存时会弹出“是否覆盖”的提示框,此弹窗会打断自动化流程,导致脚本卡住。
