我链接上述页面是因为它与我的问题相关。
是否有类似的东西可以输出一个“纯”文本文件(或 XML 或 CSV 文件),其数据与以下 CMD 提示符生成的数据基本相同:
dir > c:\list.txt
但是,我唯一需要的差异是输出文件中包含的所有视频文件的运行时间。这可以轻松完成吗?
这可以在 Python 终端或 Microsoft 的 DOS 提示符中完成吗?
答案1
旧答案
copy /B file1+file2 file3
修改后的答案
使用 mediainfo 下载。这是命令行版本。
C:\>mediainfo file.wmv | find "Duration"
Duration : 14mn 3s
Duration : 14mn 3s
Duration : 14mn 3s
您还可以执行 | 查找“名称”并获取名称。
你可以只抓取第一行,所以 | head -n 1 (head 需要 gnuwin32),然后你就可以抓取 14mn 3s
C:\>for /f "tokens=1-2,*" %f in ('mediainfo "a.wmv" ^| find "Duration"')
do @echo %h
14mn 3s
14mn 3s
14mn 3s
您可以重定向到某个文件。
如果你把这个 bat 文件放到与视频相同的目录中
这里我使用了 gnuwin32 的 head 命令。但是如果你删除 | head -n 1,你仍然会明白。
一只蝙蝠
for %%f in (*.*) do (
echo %%f >>y
mediainfo %%f | find "Duration" | head -n 1 >>y
echo. >>y
)
C:\>type y
a.bat
file1.wmv
Duration : 30s 0ms
file2.wmv
Duration : 45s 11ms