[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 的腳本檔

SmartGUI 1
SmartGUI 2

我們製作好的視窗畫面如下,輸入要複製到M:或R:的檔案,按OK後就將檔案複製過去。

SmartGUI 3

修改後的腳本檔內容如下:

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

視窗的畫面指令。

  1. 來源檔案的編輯元件命名為vSource,在後面可以用Source來取用其輸入之值;公用變數必須用v開頭
  2. 用Gui, Show把視窗顯示出來
ButtonOK:

Gui, Submit ; Save each control’s contents to its
associated variable.

if MDrive = 1

{

StringMid, Target, Source, 3, 128

Target = M:%Target%

FileMove, %Target%, %Target%.bak, 1

FileCopy, %Source%, %Target%, 1

}

  1. 按OK後會跳到ButtonOK:
    執行
  2. 必須用Gui, Submit將輸入的值存入變數
  3. CheckBox被勾選的話,其值等於1
  4. 用StringMid取出輸入檔名去掉開頭磁碟機代號後的路徑
  5. 用FileMove先備份原有的檔案,後面的1表示若.bak若已存在的話則用覆蓋方式備份
      1. 用FileCopy將檔案複製到M:
GuiClose:

GuiEscape:

ButtonCancel:

Gui, Destroy

return

按X關閉視窗、按Escape或點Cancel按鈕則將視窗關閉

撰寫過程務必開啟其線上Help來同步學習,手冊分類相當清楚且有許多範例可以參考。

您可能也會有興趣的類似文章

2 則留言 »[Tools] 撰寫AutoHotKey指令以複製檔案

  • Vincent Unknow Unknow

    像這種需求是不是考慮用ant 會更方便點? 畢竟佈署的方式也該保存下來。一點小意見。

  • 簡睿 Unknow Unknow

    整批部署用Ant或許會比較便利,但若只要複製少數的檔案(有些改一半的還不能放出去),應該用Shell的script會比較方便。但Windows Script不熟,因此才拿AutoHotkey來測試。

填寫回應

 

 

 

您可使用這些HTML標籤

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

隨機文章

  1. 轉換Office檔案為文字格式的命令列工具:DocToText 
  2. [Subversion] 可重覆使用的性質設定批次命令 (1)
  3. Joomla! 1.0.12網站建置3-如何預覽版面位置 
  4. 原來也有圖片式的Google AdSense廣告 (1)
  5. [Sites] 圖片網站:Open Clip Art Library (1)
  6. [Sites] 網頁整篇多國語言翻譯:WorldLingo、BabelFish、同文堂 
  7. [Tools] 常用的AutoHotKey設定 (9)
  8. [Tools] 心智圖的繪製工具:Xebece、FreeMind (2)
  9. Xuite與WordPress網頁載入速度差異的可能原因 (2)
  10. [Blog] FireFox用來整合del.icio.us的擴充套件 

歷史熱門文章

  1. 如何手動輸入Plurk的表情圖示? (367,772 點擊/2008-09-29)
  2. 啟用&關閉中華電信ZyXEL P874的無線網路連線功能的步驟[修訂] (118,726 點擊/2011-06-01)
  3. Plurk CSS樣式自訂修改全攻略 (89,204 點擊/2009-07-04)
  4. 簡單放大Plurk輸入區的方法[修訂] (88,799 點擊/2008-09-29)
  5. 網路升級光世代50M/3M與設定ZyXEL P874 (71,283 點擊/2011-05-28)
  6. 輕鬆學會彈指神功-揭露AutoHotkey絕技 (50,585 點擊/2008-04-10)
  7. iPad新手入門技巧 (48,891 點擊/2011-02-05)
  8. iPad鍵盤輸入全攻略 (42,277 點擊/2011-01-01)
  9. 分享世博台灣館主題曲『台灣的心跳聲』MV(附歌詞+下載連結+新歌詞) (40,754 點擊/2010-04-27)
  10. 調整Windows 7環境: 加回工作列的「顯示桌面」圖示 (40,552 點擊/2010-01-02)