-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 /?' –