我想要做的是转换存储在许多不同文件夹中的.ogg文件.我需要批处理脚本做的是从第一个文件夹和文件,转换它,然后继续到文件夹中的下一个文件.此外,在转换过程中会创建一个wave文件,因此我需要在文件转换结束时将其与原始.ogg文件一起删除.到目前为止这是我的代码.它遍历执行oggdec的每个文件夹和文件,生成大量的波形文件.我需要脚本一次只做一个文件夹和一个文件
for /r %%i in (*.ogg) do oggdec "%%i"
for /r %%i in (*.ogg) do del "%%i"
for /r %%i in (*.wav) do lame -m m "%%i"
for /r %%i in (*.wav) do del "%%i"
@echo off
etlocal enabledelayedexpansion
set deletestring=.wav
echo Ready to start
echo.
echo.
for /f "delims==" %%F in ('dir /b /s /a-d ^| find "%deletestring%"') do (
set oldfilename=%%~nxF
set pathname=%%~dpF
set newfilename=!oldfilename:%deletestring%=!
Ren "!pathname!!oldfilename!" "!newfilename!"
)
echo.
echo All done
(
Run Code Online (Sandbox Code Playgroud)
上面的代码几乎可以工作,最终的结果是工作,但不幸的是我需要它一次只转换一个文件并删除原来的.ogg和.wav,然后移动到下一个.ogg文件.所以我需要它跟随此规则获取第一个文件夹和第一个.ogg文件执行oggdec文件生成.wav del..文件执行lame -mm .wav文件生成.mp3文件del …