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

Audio Conversion: Nesting loops in batch file gives no output

我正在将几千个 .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 文件测试过它,它转换得很好,所以我认为它与格式没有任何关系。更有可能的是,它只是与我的业余批处理文件编程有关。有什么想法吗?

已解决,感谢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

看来我真的可以一次循环完成。