目录包含2个(或更多)具有任意随机名称的视频文件.
video1.mkv video2.mkv
需要找出每个视频的持续时间.为此,我们使用MediaInfo.
setlocal EnableDelayedExpansion for %%a in (*.mkv) do ( for /f "usebackq" %%a in (`"mediainfo --Inform=Video;%%Duration%% %%a"`) do set duration=%%a echo "!duration!" > "data.txt" )
问题是,它只打印1个值/持续时间(我认为是最后一个文件).它有效,只购买一个文件.
如何使其与目录中的所有文件一起使用?
解决方法
只需使用>>而不是>,它代替覆盖而不是覆盖
setlocal EnableDelayedExpansion for %%a in (*.mkv) do ( for /f "usebackq" %%a in (`"mediainfo --Inform=Video;%%Duration%% %%a"`) do set duration=%%a echo "!duration!" >> "data.txt" )