
如果您需要在 Windows 系统中不依赖第三方图形软件,仅使用系统自带命令行工具批量转换多个视频文件格式,则必须借助已安装的 FFmpeg 命令行程序——Windows 自身并不内置视频转码功能,但可通过 PowerShell 或 CMD 调用外部命令行工具实现自动化批量处理。以下是基于系统命令行环境的多种可行方案:
一、使用 CMD for 循环批量转换单层文件夹内所有视频
该方法适用于当前目录下所有同类型或混合类型视频文件,通过 Windows 原生命令解释器调用 FFmpeg,无需额外脚本引擎,兼容 Windows 7 至 Windows 11 所有版本。
1、确保 FFmpeg 已正确安装并添加至系统环境变量 PATH 中;可在 CMD 中输入 ffmpeg -version 验证是否可执行。
2、打开目标视频所在文件夹,在地址栏输入 cmd 并回车,启动命令提示符。
3、执行以下命令,将当前目录所有 .avi 文件转为 .mp4(H.264+AAC):
for %f in (*.avi) do ffmpeg -i “%f” -c:v libx264 -c:a aac -strict experimental “%~nf.mp4”
4、如需处理多种扩展名(如 .mkv、.wmv、.flv),可分次运行对应循环,或改用 PowerShell 方案统一匹配。
二、使用 PowerShell 通配符批量处理多格式视频
PowerShell 提供更灵活的文件筛选能力与字符串处理函数,可一次性匹配多种视频扩展名,并自动跳过非视频文件,避免 CMD 的扩展名硬编码限制。
1、在目标文件夹空白处按住 Shift + 右键,选择“在此处打开 PowerShell 窗口”。
2、运行以下命令,批量转换 .mkv、.avi、.wmv、.mov 四类文件为 MP4 封装格式(仅重封装,无损):
Get-ChildItem -Include *.mkv,*.avi,*.wmv,*.mov | ForEach-Object { ffmpeg -i $_.FullName -c copy “$($_.DirectoryName)\$($_.BaseName).mp4” }
3、若需强制重编码以统一画质与兼容性,将 -c copy 替换为 -c:v libx264 -crf 23 -c:a aac -b:a 128k。
4、执行完成后,新生成的 .mp4 文件将与原文件位于同一目录,原文件保留不变。
三、使用批处理文件(.bat)实现一键式多目录遍历转换
当待转换视频分散在多个子文件夹中时,该方案通过递归遍历所有子级目录,对每个文件夹内符合后缀条件的视频执行独立转换,避免手动逐个进入路径。
1、新建文本文档,粘贴以下内容:
@echo offfor /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
2、将文件另存为 batch_convert.bat,注意编码选择 ANSI 或 UTF-8 without BOM。
3、双击运行该批处理文件,脚本将自动搜索当前目录及所有子目录中的 .avi/.mkv/.wmv 文件并转换。
4、转换后的文件名追加 _converted 后缀,输出路径与源文件一致,防止覆盖原始文件。
四、利用 Windows 任务计划程序实现无人值守定时批量转换
适用于需定期处理监控录像、会议录制等固定路径下新增视频的场景,通过系统内置任务计划程序触发预设批处理,全程无需人工干预。
1、按 Win + R 输入 taskschd.msc,打开任务计划程序。
2、点击右侧“创建基本任务”,命名为“每日视频格式转换”,设置触发时间为每天指定时刻。
3、操作步骤选择“启动程序”,程序/脚本栏填写 cmd.exe,参数栏填入:
/c cd /d “D:\Recordings” & for %f in (*.mpg) do ffmpeg -i “%f” -c:v libx264 -c:a aac “%~nf.mp4”
4、确认保存后,系统将在设定时间自动进入 D:\Recordings 目录,批量转换当日新增的 .mpg 文件为 .mp4。

评论(0)