为目录中的每个文件运行命令

Pur*_*Out 6 ffmpeg

我正在将所有视频文件转换为 WebM,以大大减少使用的硬盘空间量。为此,我使用程序“ffmpeg”,它需要指定一个输入和输出文件。由于转换过程需要很长时间,我希望为我的视频文件夹中的每个视频文件日夜运行它,所以我不必自己手动完成。

通过谷歌搜索,我找到了这样做的方法,但输出将是 1 个大文件。任何人都可以解释我如何自动将“video1.avi”转换为“video1.webm”,并将“video2.avi”转换为“video2.webm”等?

ste*_*ver 14

您可以使用bash 循环- 基本结构类似于

for file in *.avi; do ffmpeg -i "$file" "${file%.avi}".webm; done
Run Code Online (Sandbox Code Playgroud)

您可以根据需要添加任何其他ffmpeg命令行选项。

  • 这很好用。我也可以以某种方式递归吗? (2认同)