【问题标题】:Apply a command for each file in a folder using Windows batch script使用 Windows 批处理脚本为文件夹中的每个文件应用命令
【发布时间】:2012-12-12 22:49:48
【问题描述】:

我正在尝试弄清楚如何创建一个脚本,该脚本将获取文件夹 videos\*.* 中的所有视频文件,然后在每个文件上使用 ffmpeg 并将文件输出到 converted\*.mp4 文件名是一样。

但是,我不知道如何让 for 循环工作,以便提取正在处理的文件的名称和扩展类型。

for %%f IN (videos\*.*) DO (convert.bat %%f)

convert.bat

ffmpeg.exe -i %1 -f mp4 converted\%~n.mp4

我试过带双引号和不带双引号。但是,它不会识别该文件。

【问题讨论】:

  • 请提供一些代码。
  • %~n.mp4 有错字吗?

标签: windows for-loop batch-file ffmpeg


【解决方案1】:

一个班轮批处理文件命令:

for %%F in (videos\*.*) do ffmpeg.exe -i "%%~fF" "%%~dpF\converted\%%~nF.mp4"

您拥有的两个班轮:(添加了call 命令、引号和~

for %%F IN (videos\*.*) DO (call convert.bat "%%~fF")

convert.bat(更正了~、选项和引号的参数用法)

ffmpeg.exe -i "%~f1" "%~dp1\converted\%~n1.mp4"

请参阅for /?call /?ffmpeg 寻求帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-27
    • 1970-01-01
    • 2018-09-21
    • 1970-01-01
    相关资源
    最近更新 更多