字體:小 中 大 | |
|
|
2011/05/11 00:10:04瀏覽14152|回應0|推薦2 | |
前言:
這篇文章是本部落格的第一百篇文,本來是想拿比較有紀念性的作品來放,不過眼看過了大半年還沒寫出半篇,索性就拿最近正在鑽研的東西來講一講好了。 本篇文章是以路子工作上實務的角度歸納而得,因此不會有太多的入門教學,有興趣的朋友可以自己去GOOGLE AutoIT,相信可以找到許多資料。(我自己也是剛入門,所以太困難的問題我也無法解答) 首先來談談AutoIT能做什麼。(以下是示範案例) 今天主管跟我說,業務部門反映辦公室目前的Acrobat Reader版本太舊,客戶寄來的PDF檔案開啟時會有錯誤訊息,一直提示要更新至最新版的Reader,業務經理要我們盡快解決。 路子估算了一下,辦公室有兩三百台的電腦需要更新,如果一台台去裝,至少要半個月以上,而且這當中還會耽擱到其他的工作。要是能讓安裝程式自動運行,那該有多好。 在這種情形下,我們就可以利用AutoIT來完成作業。 首先,把安裝步驟寫成一個腳本,再把腳本轉換成EXE檔,接著把這個EXE檔與Acrobat Reader的主程式還有語系包放在一起,最後用超連結的方式或告知同仁檔案路徑,讓同仁自行點擊,藉以開始自動安裝程序。 如此一來,就可以節省許多時間。而且將來如果Acrobat Reader要再升級,只要把腳本裡面的檔案名稱改掉就可以了。 寫到這邊,有個地方要先提一下,有時候我們要安裝軟體時,軟體本身就有提供一些安裝參數,比方說「/passive」不需使用者操作,但會有安裝進度,或是「/quiet」沒有任何提示訊息的寧靜安裝。 因此我們在進行軟體安裝之前,不妨先看看有沒有類似的參數可以運用。如果有,就可以省下大把編寫腳本的時間了。 怎麼看這些參數? Windows左下角的「開始」點選後,會有一個「執行」,選取「執行」後,會出現一個窗口可以輸入指令。這時候只要把安裝程式拖曳至窗口處放開,就會出現安裝路徑,在路徑的最後面請加上「/help」或者是「/?」,接著按下「Enter」讓程式運行,就可以看到安裝參數了;如果軟體直接開始安裝,就表示沒有參數可用。 這裡路子以Acrobat Reader為例,我的AutoIT腳本這麼寫: ShellExecuteWait("AcroRead.msi", "/passive /norestart");主程式 ShellExecuteWait("FontPack1000_ja_JP.msi", "/passive /norestart");日文語系包 ShellExecuteWait("FontPack1000_ko_KR.msi", "/passive /norestart");韓文語系包 ShellExecuteWait("FontPack1000_zh_CN.msi", "/passive /norestart");簡中語系包 ShellExecuteWait("FontPack1000_zh_TW.msi", "/passive /norestart");繁中語系包 其實Acrobat Reader的安裝可以透過DOS的BATCH來完成,既是如此,那路子為何要用AutoIT呢? 道理其實很簡單,因為AutoIT可以給出一些簡單的提示與互動視窗,或者是判斷式及迴圈的運行,這部分都是BATCH比較難做到的(其實是我DOS指令沒學那麼精,但有簡單的程式語言基礎)。 舉個例子,我希望在安裝程式開始前,給個訊息告知辦公室同仁,目前要進行什麼作業,同仁需要注意什麼,那麼我可以這麼表示: MsgBox(0,"Auto Install Script","目前正更新Adobe Reader及語系包,請稍候片刻,並請勿使用滑鼠及鍵盤。",3) 這個對話方塊三秒鐘後會自動消失,緊接著開始進行軟體安裝,安裝完畢後,我再給個提示訊息: MsgBox(0,"Auto Install Script","軟體已安裝完畢,請按確定結束,有任何問題請洽電腦室,謝謝!") 所以整個Acrobat Reader及語系包的安裝腳本是這樣子的: MsgBox(0,"Auto Install Script","目前正更新Adobe Reader及語系包,請稍候片刻,並請勿使用滑鼠及鍵盤。",3) ShellExecuteWait("AcroRead.msi","/passive /norestart") ShellExecuteWait("FontPack1000_ja_JP.msi","/passive /norestart") ShellExecuteWait("FontPack1000_ko_KR.msi","/passive /norestart") ShellExecuteWait("FontPack1000_zh_CN.msi","/passive /norestart") ShellExecuteWait("FontPack1000_zh_TW.msi","/passive /norestart") MsgBox(0,"Auto Install Script","軟體已安裝完畢,請按確定結束,有任何問題請洽電腦室,謝謝!") 詳細語法路子就不介紹了,有興趣的人,安裝AutoIT後可以按F1看HELP,說明文件雖然都是英文,但內容並不難,而且有範例可以參考,稍微摸索一下就懂了。不然可以去找對岸同胞製作的漢化版,懂得利用GOOGLE,這些東西其實並不難取得。 到此先擱個筆,有機會再來談談其他的部分。 |
|
( 興趣嗜好|電腦3C ) |