加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – BATCH |将多个变量回显到文件

发布时间:2020-12-14 01:38:24 所属栏目:Windows 来源:网络整理
导读:目录包含2个(或更多)具有任意随机名称的视频文件. video1.mkvvideo2.mkv 需要找出每个视频的持续时间.为此,我们使用MediaInfo. setlocal EnableDelayedExpansionfor %%a in (*.mkv) do ( for /f "usebackq" %%a in (`"mediainfo --Inform=Video;%%Duration%%
目录包含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"
)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读