俞木發(fā)
日常很多操作,我們都是按部就班地執(zhí)行,這樣不僅費(fèi)時(shí)而且費(fèi)力。其實(shí)Windows下的許多任務(wù)可以批量操作,這樣我們就可以高效、快捷地完成很多的操作。
執(zhí)行批量操作,利用Windows自身的批處理功能就可以實(shí)現(xiàn),當(dāng)然因?yàn)槭亲址缑妫皇呛芎糜?,所以可以通過(guò)Windows批處理調(diào)試器之類的工具進(jìn)行輔助。除了Windows自身的工具,第三方開發(fā)的一些宏工具也很強(qiáng)大。
就地取材 用好Windows批處理
系統(tǒng)自帶的批處理是一個(gè)多命令自動(dòng)執(zhí)行腳本,只要編輯好特定的批處理,它就可以幫助我們執(zhí)行很多的操作。以Windows 7(及以上版本)系統(tǒng)為例,很多系統(tǒng)文件都被賦予嚴(yán)格的權(quán)限,如果要對(duì)某個(gè)系統(tǒng)文件進(jìn)行改名或者編輯等操作,常規(guī)的操作是要先取得文件的所有權(quán),接著再賦予當(dāng)前管理員賬戶對(duì)該文件的完全控制權(quán),這樣才能完成上述的操作。比如,為了方便訪問(wèn)一些網(wǎng)站,我們經(jīng)常要對(duì)C:\Windows\System32\drivers\etc\hosts進(jìn)行編輯,該文件默認(rèn)所有者為System賬戶,當(dāng)前管理員賬戶沒有編輯權(quán)限,而且沒有對(duì)“C:\Windows\System32\drivers”寫入權(quán)限(圖1)。這就需要一步步解鎖權(quán)限。對(duì)于這類的操作,借助批處理即可快速完成取得所有權(quán)和寫入控制權(quán)的更改,讓復(fù)雜操作變簡(jiǎn)單。示例代碼如下(rem為注釋無(wú)需輸入):
rem 運(yùn)行NotePad同時(shí)打開指定的系統(tǒng)文件,在批處理中如果文件路徑包含空格,一定要用半角的""括起來(lái)
notepad "C:\Windows\System32\drivers\etc\hosts"
rem 賦予指定文件(夾)所有者為管理員組
takeown /f C:\Windows\System32\drivers\etc\hosts /a
rem 賦予指定文件(夾)完全讀取權(quán)限到當(dāng)前操作用戶,其中yumufa為當(dāng)前登錄用戶名,“:F”為完全控制權(quán)限
icacls C:\Windows\System32\drivers\etc\hosts /grant yumufan:F
將上述批處理保存為Aa.bat批處理文件并放置在桌面,以后只要右擊選擇“以管理員身份運(yùn)行”,運(yùn)行完成后記事本會(huì)自動(dòng)打開指定的文件,并可以直接對(duì)該文件進(jìn)行編輯和保存了(圖2)。
繼續(xù)打開C:\Windows\System32\drivers\etc\hosts的“屬性→安全→高級(jí)”,可以看到該文件的所有者已經(jīng)被更改為當(dāng)前管理員組(默認(rèn)為System),同時(shí)切換到“安全→編輯”,在用戶列表中則可以看到當(dāng)前登錄賬戶已經(jīng)獲取到完全控制權(quán)限了(圖3、圖4)。
因?yàn)閲?yán)格的權(quán)限管理機(jī)制可以很好地保護(hù)系統(tǒng),因此對(duì)系統(tǒng)文件的權(quán)限進(jìn)行更改,完成文件的編輯后建議恢復(fù)原來(lái)的權(quán)限,恢復(fù)的操作也很簡(jiǎn)單(只是操作前一定要記住原來(lái)文件的所有者和權(quán)限設(shè)置)。比如需要恢復(fù)Hosts文件所有者為System賬戶,可進(jìn)入文件“屬性→高級(jí)→編輯→所有者”,將所有者重新更改為System即可。需要注意的是,如果是恢復(fù)為TrustedInstaller,需要“NT SERVICE\TrustedInstaller”才可以添加(圖5)。
完成添加延時(shí)語(yǔ)句后,現(xiàn)在在原來(lái)批處理中就會(huì)添加“ping 127.0.0.1 -n 4”語(yǔ)句。如此一來(lái),即使是新手也可以非常方便地對(duì)批處理進(jìn)行編輯和調(diào)試(圖6)。
小 提 示
系統(tǒng)自帶的批處理命令還有很多,我們既可以直接像上面實(shí)例一樣使用類似Takeown、Icacls一樣的命令行制作批處理,比如喜歡一鍵備份的朋友可以借助Dism命令制作備份/還原腳本,ADSL用戶則可以借助Rasdial實(shí)現(xiàn)一鍵自動(dòng)撥號(hào)。此外,還可以利用常見的GUI程序,如文件管理器、記事本等生成腳本,比如C:\Recovery是系統(tǒng)隱藏的目錄,為了方便自己訪問(wèn),可以制作一個(gè)批處理(代碼“explorer.exe C:\Recovery”)即可一鍵打開。
擴(kuò)展閱讀
一般用戶對(duì)批處理語(yǔ)法并不熟悉,為了方便對(duì)自己制作的批處理進(jìn)行編輯或調(diào)試,可以輔助使用“iBAT 批處理編輯工具”(下載地址:tinyurl.com/o7gsrnh),啟動(dòng)程序后導(dǎo)入需要調(diào)試的批處理進(jìn)行編譯即可。該程序還自帶常見的語(yǔ)法命令,比如對(duì)于上述批處理,如果Hosts文件較大,就可以在第一行語(yǔ)句后添加延時(shí)命令,以方便后續(xù)程序的啟動(dòng),此時(shí)可點(diǎn)擊右側(cè)窗格的“ping 延時(shí)”,在打開的窗口中選擇延時(shí)的時(shí)間,點(diǎn)擊“輸入”即可。它使用所見即所得的方式,方便我們自行添加語(yǔ)法命令(圖7)。
Windows批處理“外援”更好用
系統(tǒng)自帶的批處理編寫起來(lái)需要一定的電腦知識(shí),對(duì)于很多小白來(lái)說(shuō),網(wǎng)上已經(jīng)有許多現(xiàn)成的快捷工具,這樣我們只要實(shí)行“拿來(lái)主義”即可快捷執(zhí)行很多的操作。這里以AutoHotkey(下載地址:www.autohotkey.com)擴(kuò)展系統(tǒng)應(yīng)用為例。
AutoHotkey既支持常見的編程語(yǔ)法,又可通過(guò)錄制屏幕操作生成宏。對(duì)于有一定編程知識(shí)的朋友來(lái)說(shuō),可以自行使用記事本編制批處理腳本。比如為了工作方便,很多朋友喜歡將常用的程序都設(shè)置為自啟動(dòng),但是對(duì)于配置較低的電腦,在進(jìn)入桌面時(shí)各種程序一起啟動(dòng)很容易造成桌面假死?,F(xiàn)在借助AutoHotkey即可輕松安排各個(gè)程序按順序啟動(dòng)。
首先啟動(dòng)記事本輸入下列的代碼(分號(hào)“;”后面為注釋,可以不用輸入):
run "C:\Program Files\Microsoft Office\EXCEL.EXE" ;啟動(dòng)指定程序,這里需要輸入程序具體路徑,如果路徑包含空格,請(qǐng)用半角雙引號(hào)括起來(lái)
sleep, 5000 ;延遲5秒啟動(dòng)下一個(gè)程序
run 下一個(gè)程序具體路徑
sleep, 5000
ExitApp ;退出程序
完成代碼z編輯后將其保存為Run.ahk放置在C:\Users\yumufa\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup(yumufa為本例的登錄用戶)下,這樣每次進(jìn)入桌面后,上述設(shè)置的自啟動(dòng)程序就會(huì)每隔5秒依次啟動(dòng)了(圖8)。
對(duì)于電腦小白來(lái)說(shuō),如果不會(huì)編輯腳本,那么還可以直接利用AutoHotkey來(lái)錄制操作腳本。比如現(xiàn)在很多在外求學(xué)的同學(xué)們喜歡使用QQ和家中的老爸、老媽們視頻聊天,不過(guò)對(duì)于電腦水平不高的老爸來(lái)說(shuō),視頻聊天的操作還是略顯復(fù)雜。借助AutoHotkey就可以錄制一個(gè)實(shí)現(xiàn)自動(dòng)視頻聊天的腳本了。
首先在老爸的電腦QQ(可以通過(guò)遠(yuǎn)程協(xié)助方法實(shí)現(xiàn))的好友列表中找到自己的賬號(hào)(假設(shè)昵稱為“兒子”),再將其拖到桌面上生成快捷方式,接著右擊快捷方式,在快捷鍵設(shè)置框中將F2設(shè)置為快捷鍵,以后老爸按下F2鍵(需要將QQ設(shè)置為記住密碼自動(dòng)登錄)即可啟動(dòng)和我們的對(duì)話(圖9)。
接著啟動(dòng)AutoHotkey中的AutoScriptWriter.exe組件,單擊Autohotkey界面的“Arecord”按鈕開始錄制屏幕操作,按提示依次執(zhí)行下列的操作:
按下F2(這樣會(huì)自動(dòng)登錄QQ并打開老爸和“兒子”QQ的對(duì)話框)→將鼠標(biāo)移動(dòng)到QQ對(duì)話框→點(diǎn)擊開始視頻對(duì)話按鈕→打開視頻對(duì)話窗口后結(jié)束AutoScriptWriter.exe的錄制(圖10)。
停止腳本的錄制后,返回AutoScriptWriter.exe窗口,此時(shí),我們就可以看到錄制的腳本了。其中Send表示發(fā)送的按鍵,其他語(yǔ)句則是具體操作(包括活動(dòng)窗口和鼠標(biāo)的點(diǎn)擊),點(diǎn)擊“SAVE”將其保存為Aa.ahk在桌面?zhèn)溆茫▓D11)。
因?yàn)樯鲜龃a是連貫運(yùn)行操作,在實(shí)際使用中我們還需要根據(jù)實(shí)際情況對(duì)代碼加以修改。比如默認(rèn)情況下按下F2鍵后會(huì)自動(dòng)啟動(dòng)QQ,因此需要為啟動(dòng)QQ預(yù)留啟動(dòng)時(shí)間,這樣才會(huì)打開視頻對(duì)話窗口。使用記事本打開Aa.ahk,按提示在“Send,{F2}”代碼后添加“Sleep,5000”(單位為毫秒,表示延遲5秒),這樣當(dāng)老爸按下F2鍵后,5秒后才會(huì)執(zhí)行下一步操作(等待QQ完全啟動(dòng)),其他代碼請(qǐng)自行修改(圖12)。
現(xiàn)在測(cè)試上述代碼看看能否正常運(yùn)行,如果無(wú)誤再運(yùn)行Autohotkey的“Convert .ahk to .exe”組件,導(dǎo)入Aa.ahk,點(diǎn)擊“Convert”,生成Aa.exe放置在桌面?zhèn)溆茫▓D13)。
操作同上,再為Aa.exe創(chuàng)建一個(gè)快捷方式,比如賦予快捷鍵為F3鍵,這樣以后老爸開機(jī)以后只要按下F3鍵,他的電腦就會(huì)自動(dòng)向我們的QQ發(fā)送視頻對(duì)話,是不是更方便老爸老媽們的操作了呢?
小 提 示
AHK可以錄制很多操作,而且可以生成可執(zhí)行EXE文件(這樣可以脫離Autohotkey獨(dú)立運(yùn)行),因此大家可以根據(jù)自己的需要錄制更多的快捷操作。