You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MediaInfo CLI批量获取视频参数时循环异常问题排查

问题原因及解决方法

核心问题1:MediaInfo路径不完整

你定义的vMediaInfoCLI变量仅指向文件夹路径,未指定具体可执行文件MediaInfo.exe,系统找不到目标程序,导致脚本执行到循环内命令时直接退出。

核心问题2:循环内百分号未正确转义

批处理for循环的括号块中,百分号转义规则与单独执行时不同:单独执行时用%%表示单个%,但在括号嵌套环境中,需要用%%%%才能表示单个%。原命令中的%%Bits-(Pixel*Frame)%%会被错误解析,引发语法错误,导致脚本提前终止。

修正后的脚本

SET vMediaInfoCLI="D:\MediaInfo\MediaInfo.exe"

setlocal enabledelayedexpansion

for %%i in (*.mp4) do (
  set x=%%i
  echo %%i

  pause

  !vMediaInfoCLI! --Inform=Video;%%%%Bits-(Pixel*Frame)%%%% "%%i" > MediaInfo_tmp.txt
)

pause
exit

额外说明

  • 因启用了延迟扩展,调用vMediaInfoCLI时改用!vMediaInfoCLI!而非%vMediaInfoCLI%,避免循环内变量立即展开的问题。
  • 若后续要读取MediaInfo_tmp.txt赋值给bpp,建议在循环内同样使用延迟扩展处理变量,避免赋值后无法立即读取的问题。

内容的提问来源于stack exchange,提问作者User42

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 10:25:13