2012年4月25日 星期三

[BAT] 將影片轉換成音訊檔/7-zip批次壓縮資料夾

這兩個批次檔都是好久前寫的,大約三月中的時候吧,但是一直有些Bug,所以就沒放上來。

第一個批次檔是用來轉換從Youtube下載下來的mp4/webm影片,把音軌抽取出來。如果沒看錯ffmpeg的說明的話,抽取音軌是不會 re encode 的,可以得到最好的音質。不知道什麼是ffmpeg的人,請先從這裡下載 Shared 版本,然後解壓縮到 Program Files 資料夾。

把檔案拖曳到批次檔上就行了。

直接上Code︰FFmpeg Extract Audio

@echo off 
set "ffmpeg="C:\Program Files\ffmpeg-git-1eabd71-win32-shared\bin\ffmpeg.exe""
if {%1}=={} goto end
:top
set "dir=%~d1%~p1"
set "filename=%~n1"
set "extension=%~x1"
set "audio="
if {%extension%}=={.webm} set "audio=.ogg"
if {%extension%}=={.mp4} set "audio=.m4a"
if {%extension%}=={.flv} set "audio=.aac"
if not {%audio%}=={} goto convert
echo 不支援的檔案格式
:convert_
shift
if {%1}=={} goto end
goto top

:convert
cd /D "%dir%"
move %1 ".\convert_temp_video"
%ffmpeg% -i ".\convert_temp_video" -vn -acodec copy ".\convert_temp_audio%audio%"
move ".\convert_temp_video" %1
move ".\convert_temp_audio%audio%" "%dir%%filename%%audio%"
goto convert_

:end
echo 轉換完成
pause

:exit

Zip Them!
注意!這個程式是我用來整理漫畫的!其中的 rd 指令是把資料夾刪除!

@echo off 
set "exe7z="C:\Program Files\7-Zip\7z.exe""
if {%1}=={} goto exit

:top
set "dir=%~d1%~p1"
SET "filename=%~n1%~x1"
cd /D "%dir%"
%exe7z% a "%filename%.zip" "%filename%"
rd /S /Q "%filename%"
shift
if {%1}=={} goto end
goto top

:end
echo 轉換完成
pause

:exit

久違的部落格~寫部落格真是件幸福的事Orz
話說 Blogger 更新了,現在打字的地方變好大!

沒有留言:

張貼留言