基本上我想在永远的Sub文件夹中运行它
for %%i in (*.m4a) do faad "%%i"
for %%i in (*.wav) do oggenc "%%i"
for %%i in (*.m4a) do del "%%i"
for %%i in (*.wav) do del "%%i"
它工作得很好,但我必须手动更改目录并重新运行 例如。
cd res
cd music
for %%i in (*.m4a) do faad "%%i"
for %%i in (*.wav) do oggenc "%%i"
for %%i in (*.m4a) do del "%%i"
for %%i in (*.wav) do del "%%i"
cd..
cd Sounds
for %%i in (*.m4a) do faad "%%i"
for %%i in (*.wav) do oggenc "%%i"
for %%i in (*.m4a) do del "%%i"
for %%i in (*.wav) do del "%%i"
cd..
然后列表继续。问题是我有数百个子文件夹,所以它需要永远 有没有办法我可以在所有子目录中自动运行我的小脚本,从定义的目录开始 比如
for /f "usebackq delims=|" %%f in (`dir /b /s *.m4p`) do faad.exe "%%f"
任何帮助都是apreciated
答案 0 :(得分:1)
我为自己想出来了 我所要做的就是用m4a文件指向dir,其余代码执行代码, 它看起来虽然每个子文件夹也
cd音乐
for / r %% i in(* .m4a)do faad“%% i”
for / r %% i in(* .wav)do oggenc“%% i”
for / r %% i in(* .m4a)do del“%% i”
for / r %% i in(* .wav)do del“%% i”
供您参考。此scpipt查找m4a文件,使用faad转换为wave文件 然后使用oggenc将波形文件转换为Ogg格式 m4a文件已删除 波形文件已删除
答案 1 :(得分:0)
执行以下操作会更安全,这样如果转换过程失败,您将不会丢失源.m4a文件:
for /r %%i in (*.m4a) do call :convert %%i
goto :end
:convert
set M4A=%1
set WAV=%M4A:.m4a=.wav%
set OGG=%M4A:.m4a=.ogg%
faad %M4A%
if not exist %WAV% (echo %M4A% not converted.) else (oggenc %WAV% )
if not exist %OGG% (echo %WAV% not converted.) else (del %M4A% %WAV%)
goto :EOF
:end