基本上是以下命令的批处理应用程序:
ffmpeg -i "01.mkv" -map 0:a? -map 0:s? -map 0:v -c:v copy -c:a ac3 -c:s copy "test.mkv"
我希望只是在一个目录中运行它,并将所有新修复的文件与旧文件名和旧文件附加“old_”或类似内容。我对bash几乎一无所知,但对c ++和java有一些经验,所以术语不是问题,我以前从未看过bash。谢谢!
编辑:要清楚,我希望新文件为“01.mkv”,并将旧文件重命名为“old_01.mkv”。我的研究告诉我,这可能需要傻瓜,但我对此的了解甚至比我做的还要少。
EDIT2:我意识到我应该提供迄今为止我自己能够整理的东西。
#!/bin/bash
for i in $( ls ); do
ffmpeg -i $i -map 0:a? -map 0:s? -map 0:v -c:v copy -c:a ac3 -c:s copy $i
done
所以你想让我们为你编码吗?
—
JakeGould
我建议你开始学习
—
AFH
bash
通过调查 for
声明。
我上面编辑过。我理论上有什么用,我想我不明白的是如何更改文件名?是否像简单的说法一样容易
—
Jason Murray
$i = old_$i
?或者我会像普通终端一样使用命令行吗?喜欢 for (blah blah) cp $i old_$i
。我也看到人们在相关问题上谈论gawk,但这对我正在做的事情来说似乎过于复杂。无论如何,我似乎无法将上述想法付诸实践,除非我可能只是做错了