我有一个包含许多文件夹的目录,其中包含数百个.SPH文件。我需要将所有.SPH文件转换为.wav格式。我采用了以下代码:
cd %~dp0 mkdir converted FOR %%A IN (%*) DO sox -t raw -s -2 -r 22050 -c 2 %%A "converted/%%~nA.wav" pause
但是,它在Windows 7上没有任何作用。当我在一些.SPH文件夹中的CMD上尝试代码时:
sox * .SPH output.wav
它将所有* .SPH嵌入到output.wav文件中,这不是我想要的。我需要name1.SPH到name1.wav,name2.SPH到name2.wav
请帮忙。
答案 0 :(得分:4)
对于Linux,考虑一下:
for f in *.SPH; do sox -t sph "$f" -b 16 -t wav "${f%.*}.wav"; done
答案 1 :(得分:1)
在Windows 7中,我需要提供目标文件的完整路径,即使我以管理员身份运行,mdkir
命令也会收到权限错误,因此请预先制作目标目录并删除{ {1}}命令,然后您的SOX命令看起来应该与此类似(根据您要完成的转换或编辑使用您自己的标志):
mkdir
cmd文件不应位于文件所在的文件夹中,它应位于安装SOX的文件夹中,然后将要转换的文件拖到cmd(或bat)文件中。
答案 2 :(得分:0)
for %%a in (*.sph) do sox "%%~a" "%%~na.wav"
答案 3 :(得分:0)
使用内容
在sox目录中创建一个.bat文件cd %~dp0
for %%a in (*.sph) do sox "%%~a" "%%~na.wav"
pause
选择并将要转换的文件拖放到此.bat文件中,与.sph文件同名的.wav文件将显示在与.sph文件相同的文件夹中。