引言:本文講述如何用編輯軟件的特殊替換命令,構(gòu)造文件成批自動更名指令組,從而實現(xiàn)為批量丟失序號的文件名添加對應(yīng)序號的方法。
小麗從網(wǎng)上下載了一部系列紀錄片《故宮100》。但是,從一個BT種子自動下載到的這100個視頻文件,名稱只用了各集標題名,文件名中沒有序號(圖1)。這樣,在播放時還得先搞清楚第1集是哪個文件,接下來第2集又該是哪個文件……如此一來就無法通過播放器的自動連續(xù)播放功能實現(xiàn)連續(xù)播放。她雖然也從網(wǎng)上搜索到了帶有劇集順序序號的100個視頻的順序列表(圖2),但是,要給磁盤中的這100個文件一一對應(yīng)加上序號,不是輕而易舉的事情。手工一一更名顯然是太笨的辦法,可行但不可取。用更名工具軟件似乎也無法辦到。小麗希望我?guī)退业揭粋€更快的辦法。
從目前已有資料的情況來看,已從網(wǎng)上找到的劇集列表文件TXT中顯然既包含有文件名,又包含有劇集的序號,以此為基礎(chǔ)一定能夠找到給磁盤中的文件加上序號的辦法。但該怎么做才能實現(xiàn)呢?
我的想法是從已有信息中提取和重組關(guān)鍵字,構(gòu)造一個能實現(xiàn)自動更名的命令,并用文字編輯軟件EmEditor對命令進行成批處理,最后形成一個自動判斷和重命名的批處理程序,依此來解決問題。
命令構(gòu)造思路
假如下載到的視頻文件,其中的一個文件的文件名為“天地之間.RMVB”,而順序列表TXT文件中涉及該文件的一行記錄為“01集:天地之間(紫禁城)(1月1日首播)”,這時,我只要想方設(shè)法構(gòu)造如下命令:
REN 天地之間.RMVB 01集:天地之間(紫禁城).RMVB
然后,依此類推快速構(gòu)造出其余99條命令,即可實現(xiàn)對100集文件的自動更名(圖3)。
要實現(xiàn)成批快速構(gòu)建命令,需要利用EmEditor的列選擇技巧和成批內(nèi)容消除、成批內(nèi)容添加等技巧相結(jié)合來完成。
成批消除多余內(nèi)容
從網(wǎng)上獲得的劇集名列表中每條記錄靠后的括號內(nèi)標示的首播日期,如“(1月1日首播)”,這顯然不是我們需要的內(nèi)容,我們需要將其統(tǒng)統(tǒng)刪除。
我們通過靈活使用EmEditor的特殊替換命令來完成成批刪除任務(wù)。具體思路是將行尾之前括號及其中的內(nèi)容統(tǒng)統(tǒng)替換為空串。難點在于這個串的長度不固定,該如何構(gòu)造呢?
用快捷組合鍵Ctrl-H,進入EmEditor查找替換窗口,在“查找”文本框中輸入“)(.*$”,在“替換為”文本框中輸入“)”,同時保證窗口中的“使用正則表達式”處于被選中狀態(tài),“僅在選定范圍內(nèi)”處于未被選中狀態(tài),然后點擊“全部替換”按鈕完成替換(圖4)。
參數(shù)說明:查找框中的參數(shù)“.*”代表查找從此開始的任意長度的字串,$代表查找到行尾為止。
成批添加相同文件名
在我們設(shè)想的REN命令行中,前段要出現(xiàn)一次不帶序號的文件名。但網(wǎng)上得到的劇集列表TXT文本中的每一行記錄都只給出一次帶序號的劇集名,如何在它們的前面統(tǒng)一快速加上同名但不帶序號的文件名呢?
我們用EmEditor的列選擇和列復(fù)制技巧來實現(xiàn)。
具體方法是,在EmEditor中打開劇集TXT文本列表,在按下鍵盤Alt鍵的同時,用鼠標選擇只含有文件名的列塊(圖5),選好之后執(zhí)行復(fù)制命令。然后再新開一個文本文件,將剛才復(fù)制的內(nèi)容粘貼進來。然后用全文查找“”并替換為“.RMVB”的辦法給這個得來的文件列表添加擴展名RMVB。
返回到劇集列表文件中,用同樣的列塊選擇的方法選擇列表中的所有內(nèi)容,不管文件長短,統(tǒng)統(tǒng)選擇。然后執(zhí)行復(fù)制命令。
返回到新建的文本文件,將光標置于第一行的末端并按幾次空格,執(zhí)行粘貼命令,將剛才復(fù)制的列塊追加到已有列表的右側(cè)(圖6)。
成批添加RMVB擴展名
在復(fù)制過來的不帶序號的文件名后,文件名不帶擴展名。但是,要實現(xiàn)自動更名,必須在命令中包含完整的文件擴展名,這樣更名后得到的文件才能正常被播放器自動識別。那么如何成批添加命令尾部的RMVB擴展名?
我們同樣用EmEditor的特殊替換技巧來實現(xiàn)。只需要將每行末尾的回車換行符號替換為.RMVB加回車換行,擴展名就自動添加上去了。
具體操作是,進入EmEditor查找替換窗口,在“查找”文本框中輸入半角符號組“”,在“替換為”文本框中輸入“.RMVB”字符串,然后點擊“全部替換”按鈕完成替換(圖7)。
成批添加REN命令
還需要在每條命令的前面都加上一個REN命令關(guān)鍵詞,同時,還需要在后面緊接著加一個半角空格,才算完成一條完整的命令的構(gòu)造。
我們依然用EmEditor的特殊替換命令來實現(xiàn),不過,這次添加的是最前面的內(nèi)容。
我們只需將列表各行末尾的回車換行符號成批替換成回車加REN再加一個半角空格,即可實現(xiàn)這一目的。
進入EmEditor查找替換窗口,在“查找”文本框中輸入半角符號“”,在“替換為”文本框中輸入“REN ”(注意后面有一個半角空格),然后點擊“全部替換”按鈕完成替換(圖8)。
執(zhí)行成批序號添加
經(jīng)過如上操作,就完成了成批命令的構(gòu)造。接下來,我們需要將此新建TXT列表文件存盤,然后在資源管理器中將該文件的擴展名改為BAT(需要先從“文件夾選項”中去掉文件的擴展名隱含屬性)。
文件更名后,執(zhí)行得到的BAT擴展名的批處理文件,就可以得到帶有序號的劇集了(圖9)。
此后,只要將第1集文件添加到視頻播放器(如QQ影音、迅雷看看等)中播放,播放器就會根據(jù)文件序號自動識別出其余各集,并自動添加到播放列表中,按先后順序自動連續(xù)播放各集內(nèi)容。
小提示:以上構(gòu)造的批處理文件要和所有劇集文件處于同一個文件夾中。