-1
我写了一些简单的批处理文件,将任何音频/视频文件转换为.ogg(音频)格式。例如,YouTube上的音乐采用.flv格式。这是脚本:如何从文件名中删除文件扩展名?
set ogg_rate=1.3
set source_dir=f:\music
set dest_dir=f:\music\out
set my_temp=f:\temp
Rem Go to source dir
cd /d %source_dir%
for %%f in (*.*) do (
Rem Extract audio from avi file using ffmpeg
c:\encode\ffmpeg.exe -i "%source_dir%\%%f" "%my_temp%\%%f.wav"
rem Encode the audio with OGG encoder using 1.3 quality setting
cd /d %my_temp%
c:\encode\oggenc2.exe -q %ogg_rate% -o "%dest_dir%\%%f.ogg" "%my_temp%\%%f.wav"
rem delete all temp files
cd /d %my_temp%
del *.* /q
)
它的工作文件,但我不知道如何删除不必要的扩展名。
例如,如果输入文件是file.flv
然后转换为波后它会file.flv.wav
,然后将其转换为.ogg
这将是后file.flv.ogg
。
如何获得file.ogg
(不.flv
)
BTW:代替.flv
它可以.mp4
,.avi
或其他分机。
谢谢回答,但是,strangly,%%〜NF不工作 - 它给“在这个时候意外”我读过的链接,您只要它应该只带有文件名而没有扩展名。不知道为什么它不工作,但.. – Mike
好吧,我明白了。我需要使用%%〜nf而不是每个地方,但我只想要文件名。像这样:for(%% f in(*。*)do( c:\ encode \ ffmpeg.exe -i“%source_dir%\ %% f”“%my_temp%\ %%〜nf.wav” cd/d%my_temp% c:\ encode \ oggenc2.exe -q%ogg_rate%-o“%dest_dir%\ %%〜nf.ogg”“%my_temp%\ %%〜nf.wav” – Mike
如果您总是需要一个这样的事情的便利清单,试着'for /?' –