【发布时间】:2018-06-29 20:33:26
【问题描述】:
我正在使用内置 cmd 命令和mediainfo 实用程序来获取存储在 TXT 文件中的媒体文件名的三个参数,但由于我无法使其工作,我们将不胜感激
从这里我废弃了 mediainfo 的代码:https://stackoverflow.com/a/19091772/1162750
我的代码是
@echo off
cls
if exist mediafiles.txt del mediafiles.txt
dir /s/b . > mediafiles.txt
for /F "tokens=*" %%i in (mediafiles.txt) do (
set /a dur=mediainfo --Inform="Video;%Duration%" "%%i"
set /a mins=(%dur%/1000)/60
set size=%%~zi
set /a MB=(%size%/1024)/1024
echo %%i,%mins%,%MB% >> mediafiles.csv
)
@echo on
FileDuration 正在从毫秒(默认 mediainfo 输出)和 FileSize(以 MB 为单位)转换为分钟
【问题讨论】:
-
您需要调用延迟扩展 [数百篇关于此的 SO 文章 - 使用搜索功能] 以显示或使用在括号中的指令系列中更改的任何变量的运行时值(又名“代码块”)。
-
请拨打tour,阅读How to Ask和minimal reproducible example。 “我不能让它工作”不是一个好的问题陈述,也绝对不是一个问题。究竟是什么不工作?脚本做了什么,你期望它做什么?
-
这一行
set /a dur=mediainfo --Inform="Video;%Duration%" "%%i"抛出错误Missing Operator
标签: batch-file cmd mediainfo