在Windows操作系统中进行批量视频格式转换,无需安装任何第三方图形界面软件。利用系统内置的命令行工具,配合强大的开源多媒体框架FFmpeg,即可实现高效、自动化的批量转码任务。虽然Windows本身未集成视频转码模块,但通过CMD、PowerShell或批处理脚本调用FFmpeg,能够完美满足各类批量处理需求。以下为您详细介绍几种实用方案,可根据实际工作场景灵活选择。

一、使用CMD的for循环命令处理单层文件夹视频
此方法最为基础直接,适用于当前目录下视频文件数量适中、格式相对统一的情况。它完全依赖Windows原生命令解释器,兼容性极佳,从Windows 7到最新的Windows 11系统均可稳定运行。
首先,请确保FFmpeg已正确安装并已添加到系统环境变量PATH中。验证方法:打开CMD窗口,输入ffmpeg -version命令,若成功显示版本信息则表明环境配置正确。
随后,进入目标视频文件夹,在文件资源管理器地址栏中直接输入cmd并回车,即可在当前路径下启动命令提示符窗口。
例如,若需将所有.avi格式视频转换为通用的MP4格式(采用H.264视频编码与AAC音频编码),只需执行以下单条命令:
for %f in (*.avi) do ffmpeg -i "%f" -c:v libx264 -c:a aac -strict experimental "%~nf.mp4"
该命令将自动遍历当前目录下每一个.avi文件并依次进行转码。如需处理其他格式(如.mkv或.wmv),可分别执行对应命令。若觉得此方式稍显繁琐,下文介绍的PowerShell方案将提供更灵活的解决方案。
二、利用PowerShell通配符批量处理多种视频格式
PowerShell作为更强大的命令行环境,在文件筛选与字符串处理方面优势明显。它支持一次性匹配多种文件扩展名,自动过滤非视频文件,有效避免了CMD中需为每种格式单独编写命令的局限性。
操作步骤:在目标文件夹空白处,按住Shift键同时单击鼠标右键,在弹出菜单中选择“在此处打开 PowerShell 窗口”。
举例来说,若需将.mkv、.avi、.wmv、.mov四种常见格式的视频统一转换为MP4封装格式,且希望实现无损转换(仅改变容器格式,不重新编码),可运行以下命令:
Get-ChildItem -Include *.mkv,*.avi,*.wmv,*.mov | ForEach-Object { ffmpeg -i $_.FullName -c copy "$($_.DirectoryName)\$($_.BaseName).mp4" }
其中-c copy参数至关重要,它指示FFmpeg直接进行流复制,转换速度极快。但若目标为统一画质、压缩文件体积或确保最大兼容性,则需进行重新编码。此时可将-c copy替换为类似-c:v libx264 -crf 23 -c:a aac -b:a 128k的参数组合。
转换完成后,新生成的.mp4文件将与原文件保存在同一目录中,原始文件不会受到任何影响。
三、创建批处理脚本实现多级目录递归转换
当需要处理的视频文件分散在多层子文件夹中时,手动逐级操作效率低下。此时,编写一个简单的批处理脚本可实现递归搜索与自动转换,大幅提升工作效率。
新建一个文本文件,将以下代码完整粘贴其中:
@echo off
for /r %%i in (*.avi *.mkv *.wmv) do (
echo Processing: %%i
ffmpeg -i "%%i" -c:v libx264 -preset fast -crf 24 -c:a aac -b:a 128k "%%~dpi%%~ni_converted.mp4"
)
pause
保存文件时,将文件名修改为batch_convert.bat,建议选择ANSI或UTF-8 without BOM编码格式,以避免脚本运行时出现乱码问题。
双击运行此批处理文件,脚本将自动搜索当前目录及其所有子目录中的.avi、.mkv、.wmv文件并进行批量转码。为避免覆盖原始文件,转换后的新文件名将自动添加_converted后缀,输出路径则与源文件保持一致。
四、通过任务计划程序实现定时自动转码
本方案适用于规律性、周期性的视频处理任务,例如每日监控录像转换、定期会议录制视频处理等。利用Windows内置的“任务计划程序”,可设定特定时间自动执行转换脚本,实现完全无人值守的自动化处理。
按下Win + R组合键,输入taskschd.msc并回车,打开任务计划程序管理界面。
点击右侧“创建基本任务”,为任务命名(如“每日视频格式自动转换”)。随后设置触发器,选择“每日”执行,并指定具体开始时间。
在操作配置步骤中,选择“启动程序”。在“程序/脚本”栏填写cmd.exe,在“参数”栏中输入以下命令:
/c cd /d "D:\Recordings" & for %f in (*.mpg) do ffmpeg -i "%f" -c:v libx264 -c:a aac "%~nf.mp4"
此示例表示:系统将在每日指定时间自动启动CMD,切换至D:\Recordings目录,并将该目录下所有.mpg文件转换为.mp4格式。完成所有配置后,系统将在预定时间自动在后台执行视频转换任务,无需人工干预。
