由於種種關系,我需要對一批mp3文件進行分割(切割)。每個音頻文件大約1小時,需要切成每10分鍾1個文件,文件名要帶序號。手工分割工作量太大,不符合我等“懶人”的做法。於是找到了大名的”格式工廠“。
由於每個文件時長不是嚴格一樣,短的50多分鍾,長的60多分鍾,結合試用格式工廠的結果是它不能探測音頻文件的時長(可能是我沒找到探測方法),所以我改為固定切成6個文件,前5個文件每個10分鍾,第6個包了剩余的部分。第6個文件應該是第3000秒到3600秒的,於是變成3000秒到4000秒,這樣剩余的部分應該都包括在內了。
由於分成多段(多個文件)后,兩段的切換,在有些播放器上(如帶淡進淡出的效果)會聽不清楚,所以我增加了1秒鍾的重疊。於是第1個文件是0到601秒,第2個文件是600到1201秒,依此類推。
由於每個文件切成6個,我將這6個文件在一個子文件夾,便於管理。
經過調試,得到了這個Dos Shell(批處理)腳本:
@Echo Off set hide=/hide set hide= cd C:\Program Files\FormatFactory for %%F in (*.mp3) do ( C:FormatFactory "-> MP3" "High quality" "%%~fF" "%%~dpFSplit\%%~nF\1%%~nxF" %hide% /st=0 /et=601 C:FormatFactory "-> MP3" "High quality" "%%~fF" "%%~dpFSplit\%%~nF\2%%~nxF" %hide% /st=600 /et=1201 C:FormatFactory "-> MP3" "High quality" "%%~fF" "%%~dpFSplit\%%~nF\3%%~nxF" %hide% /st=1200 /et=1801 C:FormatFactory "-> MP3" "High quality" "%%~fF" "%%~dpFSplit\%%~nF\4%%~nxF" %hide% /st=1800 /et=2401 C:FormatFactory "-> MP3" "High quality" "%%~fF" "%%~dpFSplit\%%~nF\5%%~nxF" %hide% /st=2400 /et=3001 C:FormatFactory "-> MP3" "High quality" "%%~fF" "%%~dpFSplit\%%~nF\6%%~nxF" %hide% /st=3000 /et=4001 )
說明一下,
“*.mp3"代表我只切割當前文件夾下的mp3文件,
“-> MP3"指定轉化成mp3文件,
"High quality“高質量,另外2個選項是"Medium quality"和"Low quality"。實際測試表明,另外2個,除了音質比較差之外,文件大小反而更大,這可能是原來的mp3文件已經經過了良好的壓制,所以保持高質量可能就是不編碼,反而質量好,文件小,我猜的。
"%%~fF"就是指要分割的文件
"%%~dpFSplit\%%~nF\1%%~nxF",當前文件夾下統一建一個Split的文件夾,里面按按照每個將分割的文件建文件夾,里面存放是分割后的文件。例如,要處理的文件是 abc.mp3 則 分割后的第1個文件是 Split\abc\1abc.mp3
有了這個腳本,只要在命令行窗口下,要處理的mp3文件的當前目錄,啟動這個腳本,然后看它全自動進行分割,最終收獲到一堆分割的文件。懶人就是喜歡這樣的。一勞永逸。
要使用這個腳本,你得安裝【格式工廠】這個軟件,在"cd "那一行設置這個軟件安裝后的路徑,如果不是安裝在C盤,則要改FormatFactory左邊的盤符。
如果你要處理的輸入文件類型,輸出文件類型,輸出質量,輸出文件夾,輸出文件名,分割的時間條件,請自行根據我上面的說明作修改。這個修改相比制作出這個腳本,是非常簡單。
祝你早日成為懶人。喜歡懶人文化。