0

我想通过windows批处理使用ffmpeg来转换.wav文件并将它们放在一个新目录中。对于每个文件,我想做命令

ffmpeg -y -i H:\input\file_10;18;33.wav H:\output\file_10_18_33.wav

请注意 ; 旧文件名中的 _ 替换为新文件名中的 _。

所以我将不得不做类似的事情

for %f1 in (H:\input\*.wav) do ffmpeg -y -i %f H:\output\%f2

但同时,%f2 应该是 %f1 的文件名,分号替换为下划线。我怎样才能做到这一点?

4

2 回答 2

3

您可以使用变量“就地”编辑和替换:

c:\>set f1="aaa;bbb;ccc"
c:\>set f2=%f1:;=_% #rem will replace all ; by _ in the %f1% var
C:\>echo %f2%
aaa_bbb_ccc
于 2013-09-20T11:51:59.983 回答
2

尝试这个:

for %f in (H:\input\*.wav) do set f2=%f & ffmpeg -y -i %f %f2:;=_%

祝你好运!

于 2013-09-20T11:56:04.177 回答