Windows:循环遍历文本批次

Windows:循环遍历文本批次

我使用软件 MyFFVideoConverter。我想运行批处理脚本。我的代码如下:

-i intro.jpg -i <input_file> -codec:v libx264 -s 1920x1080 -acodec copy -strict experimental -movflags faststart -t 00:10:10.00 <output_file>

它可以工作,但我想改用mylist.txt命令-i intro.jpg。脚本应该只选择文件中的第一个条目mylist.txt,例如intro1.jpg,然后删除第一个条目。下次脚本将使用intro2.jpg并删除这个新的第一个条目,依此类推。

答案1

您可以像这样包装当前的命令:

for line in $(cat mylist.txt); do MyFFVideoConverter ... -i $line ; done

(将 ... 替换为所有其他选项)

此循环将每行运行一次命令mylist.txt,每次使用该行的内容作为开关的参数-i

这不会从mylist.txt文件中删除任何内容。最后你可以使用 将其全部删除rm

如果您确实只需要选择第一行并将其删除,那么:

line = $(head -1 mylist.txt)
MyFFVideoConverter ... -i $line

mylist.txt然后删除第一行https://unix.stackexchange.com/questions/96226/delete-first-line-of-a-file这给出了一堆解决方案。

以上所有内容均假设您的行(文件名)中没有空格或 shell 解释的字符(|、& 等)。如果是这种情况,您需要更加小心,并使用引号保护内容。

相关内容