使用 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
。使用 Waitfor
、timeout
或 choice
。看大家的帮助-waitfor /?
等
我正在使用 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
。使用 Waitfor
、timeout
或 choice
。看大家的帮助-waitfor /?
等