使用 bat 文件如何从目录中 select 文件进行处理,如果它是某种类型

Using a bat file how to select file from directory for processing if it's of certain type

我正在使用 MediaInfo 的命令行界面版本从数百个小型视频教程中提取几个参数(为了保持代码简洁,我只在下面显示格式和持续时间)以处理它们以用于其他用途。

我使用 .bat 文件收集参数,将它们通过管道传输到 txt 文件,然后在记事本中打开该文件:

f:\path\mediainfo.exe "--Inform=Video;%%Format%%\r\n%%Duration/String%%" "tutorial.mp4" > out.txt

sleep 1

start out.txt

现在我必须将实际的视频名称剪切并粘贴到批处理文件中(文件名在上面的代码中为 "tutorial.mp4"),因为我不知道如何以编程方式将该参数放入媒体信息命令。

所以,我的问题是,由于视频文件总是 .avi 或 .mp4,有没有办法向 bat 文件添加一些代码以在 bat 文件所在的目录中查找文件如果是这两种类型中的任何一种,将文件名插入第一行,就像我现在拥有的那样?子目录中永远只有一个视频文件,它可能是 .avi 或 .mp4。子目录中可能还有其他文件类型,因此我不能说 "pick the ONLY file in the subdirectory and insert it into the bat file".

我想知道是否有沿着这条线添加到文件顶部的内容:

IF EXIST *.avi || *.mp4

但我不知道我是否可以像那样使用 OR 命令,我不知道如何将文件名分配给变量以及如何在 mediainfo.exe 行中使用该变量.. ...

for %%A in ("C:\folder\*.mp4" "C:\folder\*.avi") Do Echo %%A

要查看它是否可以在 Windows 中列出 ini 文件(请注意,以交互方式使用 %A 而不是 %%A 批处理)。粘贴以下内容。

for %A in (%windir%\*.ini) do Echo %~tA %~aA %A 

for /?

注意 这一行什么都不做 sleep 1。使用 Waitfortimeoutchoice。看大家的帮助-waitfor /?