博 言
小表弟是個(gè)下載狂人,不過(guò)下載的習(xí)慣不好,很多東西都是一股腦地直接保存在下載目錄中,搞得迅雷的下載目錄不是一般的亂。進(jìn)來(lái)他忽然心血來(lái)潮,想按照文件的擴(kuò)展名整理一下,可是又覺得麻煩,就求救與我。我當(dāng)然義不容辭,祭起了自己的批處理大旗……
坐到了小表弟的電腦面前,打開了他的下載目錄,才發(fā)現(xiàn)他所謂的“亂”一點(diǎn)不虧張:軟件、音樂、電影、文檔,都不分章法地放在一起(如圖1)。
輕而易舉 · 分類保存文件
小表弟的整理思路很簡(jiǎn)單,他只希望按照文件類型進(jìn)行分類排序,將保存到以文件后綴為名字的目錄中,不過(guò),這樣手工操作起來(lái)對(duì)于表弟這種電腦菜鳥來(lái)說(shuō),很煩瑣。
了解他的要求后,我就簡(jiǎn)單寫了這樣一個(gè)批處理文件(保存為BatchSort.cmd):
for %%i in (*) do (
if not exist %%~xi md %%~xi
move *%%~xi %%~xi)
把該批處理復(fù)制到需要整理的文件夾中,雙擊執(zhí)行它,就可以快速實(shí)現(xiàn)按擴(kuò)展名分類整理文件,整理后會(huì)自動(dòng)創(chuàng)建以文件擴(kuò)展名命名的文件夾,并按文件類型移動(dòng)相應(yīng)文件到各自類型的文件夾中(如圖2)。需要注意的是,這個(gè)批處理只對(duì)當(dāng)前文件夾下的文件進(jìn)行整理,而不會(huì)對(duì)其下的子文件夾進(jìn)行處理。
博大精深 · for指令
小表弟并不是一個(gè)不求甚解的家伙,他雖然使用這個(gè)批處理快速搞定了文件整理,但看到這么神妙的批處理,就糾纏著讓我給他介紹一下是怎么實(shí)現(xiàn)的。
1.獲取幫助有玄機(jī)
D O S下的批處理命令,設(shè)計(jì)到很多復(fù)雜的指令,我實(shí)在沒有時(shí)間給他一一介紹,但看他如此好學(xué),又不忍拒絕,于是就告訴他一個(gè)最簡(jiǎn)單的獲取幫助的方法。
對(duì)于DOS下的大多數(shù)指令來(lái)說(shuō),如果要獲取幫助信息,只要打開命令行提示符,輸入該指令后,后面加一個(gè)“/?”就可以看到詳細(xì)的幫助信息了(還是簡(jiǎn)體中文的哦)。比如,要想知道for指令的用戶,就輸入(如圖3):
小表弟看到我的批處理,就一字一句地直接在命令行輸入,結(jié)果卻發(fā)現(xiàn)——不能正確運(yùn)行。那是因?yàn)?,for指令中使用變量參數(shù)有個(gè)規(guī)矩:在命令行中需要使用%i代表參數(shù),而批處理文件中則是%%i——后者比前者多個(gè)%號(hào)。
2.批處理,待你完善
雖然這個(gè)批處理已經(jīng)大致滿足了表弟的需求,不過(guò)他還有些意猶未盡,希望這個(gè)批處理能更完美一些。比如,可以自動(dòng)識(shí)別某些文件,并且歸類到比較直觀的目錄中,例如將rmvb、avi等文件自動(dòng)放置到“電影”目錄中,將exe、rar和zip文件自動(dòng)放置到“軟件”目錄中……
編者注:由于時(shí)間關(guān)系,作者并沒有將完善的批處理拿出來(lái),歡迎廣大讀者朋友參與修改,并發(fā)給我:pcd2os@gmail.com。有可能,你的批處理也會(huì)被刊登到雜志上與廣大朋友們見面哦。另外,為了方便大家,我們將本文的批處理放在了PCD的下載站點(diǎn),歡迎大家下載(http://work.newhua.com/pcd)。
計(jì)算機(jī)應(yīng)用文摘·觸控2009年15期