[Tools] 撰寫AutoHotKey指令以複製檔案
原本是用dup.bat將本地端的檔案複製到Production主機,dup.bat是使用目前目錄(Current Directory)來當做目的目錄的名稱,因此複製前要先切換目錄到要操作的目錄。為了簡化切換目錄的指令,試著用AutoHotKey來撰寫,原因是
AutoHotKey的控制與介面能做到較精細的程度。
AutoHotkey有指令可以顯示圖形元件,為了快速產生畫面,可以由其下載頁下載SmartGUI Creator 3.5,再用SmartGUI Createor來產生圖形介面的Autohotkey script檔。簡單的操作是:
- 按右鈕並選擇要加入的元件,如文字標籤(Add Text)、編輯(Add Edut)或按鈕(Add Button)等 (圖1)
- 將選擇的元件放在面板的特定位置後按左鈕,再到右下方按第二次左鈕,則在二次按鈕的矩形區域形成了元件
- 在元件上按右鈕可針對元件做設定標籤、變更位置等額外功能(圖2)
- 在圖1的右鈕功能表最後面有Save GUI可以將畫面存成 .ahk 的腳本檔
我們製作好的視窗畫面如下,輸入要複製到M:或R:的檔案,按OK後就將檔案複製過去。
修改後的腳本檔內容如下:
AutoHotKey指令 | 說明 |
Gui, Add, Text, x6 y12 w80 h20, 來源檔案: Gui, Add, Edit, vSource x90 y12 w290 h24, %Source% Gui, Add, Text, x6 y42 w80 h20, 目的磁碟: Gui, Add, Checkbox, vMDrive checked x90 y42 w50 h20, M: Gui, Add, Checkbox, vRDrive x156 y42 w50 h20, R: Gui, Add, Button, x90 y72 w80 h30 default, &OK Gui, Add, Button, x196 y72 w90 h30, &Cancel Gui, Show, ,檔案複製 Return |
視窗的畫面指令。
|
ButtonOK:
Gui, Submit ; Save each control's contents to its if MDrive = 1 { StringMid, Target, Source, 3, 128 Target = M:%Target% FileMove, %Target%, %Target%.bak, 1 FileCopy, %Source%, %Target%, 1 } |
|
GuiClose:
GuiEscape: ButtonCancel: Gui, Destroy return |
按X關閉視窗、按Escape或點Cancel按鈕則將視窗關閉 |
撰寫過程務必開啟其線上Help來同步學習,手冊分類相當清楚且有許多範例可以參考。
您可能也會有興趣的類似文章
- 用AutoHotkey輕鬆製作螢幕小鍵盤 (16則留言, 2008/03/16)
- 輕鬆學會彈指神功-揭露AutoHotkey絕技 (63則留言, 2008/04/10)
- [Tools] 續:撰寫AutoHotKey指令以複製檔案 (0則留言, 2005/06/12)
- 快速建立個人常用詞庫-AutoHotkey 熱字串小工具:HotString Helper(AHK #3) (0則留言, 2019/05/18)
- 如何轉換AutoHotkey的預設分隔字元:冒號 (2則留言, 2008/03/17)
- [Tools] 常用的AutoHotKey設定 (9則留言, 2005/05/12)
- [AHK#53] AutoHotkey多行內容輸出時的偏移問題 (0則留言, 2022/07/31)
- 使用Autohotkey開發的熱字串替換工具:Texter (1則留言, 2007/03/06)
- AutoHotkey 熱字串的常用選項與指引功能(AHK #2) (9則留言, 2019/05/17)
- AutoHotkey的進階剪貼簿功能:WinClip類別 (0則留言, 2019/10/26)
- 輕鬆學會AutoHotkey的熱鍵:熱鍵用法實例解說(AHK #4) (2則留言, 2019/05/24)
- [AHK#58] 擷取豆瓣電影網的超簡單AutoHotkey爬蟲腳本程式 (0則留言, 2023/03/04)
- [Tools] 操作熱鍵與熱字串的超便利工具:AutoHotKey (13則留言, 2005/04/29)
- [AHK#57] AutoHotkey v2正式釋出,2023年學習新目標 (6則留言, 2023/01/01)
- 改寫AutoHotkey輸出中文字串的寫法 (4則留言, 2009/06/20)
整批部署用Ant或許會比較便利,但若只要複製少數的檔案(有些改一半的還不能放出去),應該用Shell的script會比較方便。但Windows Script不熟,因此才拿AutoHotkey來測試。
像這種需求是不是考慮用ant 會更方便點? 畢竟佈署的方式也該保存下來。一點小意見。