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