-1

我正在使用内置 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 为单位)

4

1 回答 1

0

set /a dur=mediainfo --Inform="Video;%Duration%" "%%i"不起作用。要获取命令的输出,请使用for /f循环:

for "delims=" %%a in ('mediainfo --Inform="Video;%Duration%" "%%i"') do set "dur=%%A"

(假设您有一个变量%Duration%;如果您需要%Duration%文字,请将百分号加倍:

for "delims=" %%a in ('mediainfo --Inform="Video;%%Duration%%" "%%i"') do set "dur=%%A"
于 2018-01-21T20:28:58.627 回答