音频转换:批处理文件中的嵌套循环没有输出

时间:2018-12-30 03:42:23

标签: batch-file nested-loops sox

我要将成千上万个.wem文件转换为.wav格式。由于.wem是一种晦涩的文件格式,因此我决定使用SoX转换文件。

SoX标准安装中包含一个批处理文件,该文件可用于批量转换原始文件,而我很高兴使用了该文件。我已经修改了示例,以消除使用嵌套循环将文件拖放到批处理文件中的需要。

cd %~dp0
mkdir converted
for %%f in (*.wem) do FOR %%A IN (%*) DO sox -t raw -e signed-integer -b 16 -c 1 -r 44100 %%A "converted/%%~nA.wav"
pause

它会很好地创建一个/ converted目录,然后继续输出命令,目录,然后继续(据称)进入下一个文件。不幸的是,打开/ converted目录表明根本没有生成任何东西,并且转换花费的时间比应该的少得多。我之前已经使用.wem文件对其进行了测试,并且它可以很好地转换,因此我认为它与格式无关。更有可能的是,这与我的业余批处理文件编程有关。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

已解决,感谢Mofi.

完成的代码:

cd %~dp0
mkdir converted
for %%I in (*.wem) do sox -t raw -e signed-integer -b 16 -c 1 -r 44100 "%%I" "converted\%%~nI.wav"
pause

似乎我真的可以在一个循环中做到这一点。