MediaInfo CLI在批处理文件中失效,命令行执行正常问题解决
解决MediaInfo CLI批处理命令失效问题
问题概述
- 将MediaInfo CLI命令写入批处理文件执行时,无法读取MP4文件的请求数据(如文件名、时长、文件大小等)
- 相同命令直接在命令提示符中复制粘贴执行,可正常返回所需信息
- 运行环境:Windows 10 Pro v22H2、MediaInfo CLI x64 v23.07
问题根源
Windows批处理脚本中,%是用于引用环境变量的特殊字符。如果命令中直接使用单个%,批处理会将其解析为变量引用,而非传递给MediaInfo CLI的命令参数,导致MediaInfo无法识别正确的格式,进而无法读取文件数据。
解决方案
将命令中所有单个的%替换为%%进行转义,让批处理脚本将其作为普通字符传递给MediaInfo CLI。
示例:
原命令(直接在CMD中可用):
mediainfo --Inform="General;%FileName%|%Duration%|%FileSize%" target.mp4
修改后批处理中的命令:
mediainfo --Inform="General;%%FileName%%|%%Duration%%|%%FileSize%%" target.mp4
验证结果
修改后执行批处理文件,MediaInfo可正常读取MP4文件的请求数据,输出结果与直接在命令提示符中执行完全一致。
内容的提问来源于stack exchange,提问作者timetriad
相关产品推荐
相关产品推荐

