作者Holocaust123 (奔跑的蜗牛)
看板EzHotKey
标题[AHK-] 把 AHK 嵌入 DOS batch 中
时间Sun Apr 3 20:02:34 2011
REM =
(
@echo off
goto getfilename
:gotfilename
goto exit
)
;;;;;;;;;;;;;;;;; start of ahk section ;;;;;;;;;;;;;;;;;
; 在这个黄色区域写 AHK 脚本
;;;;;;;;;;;;;;;;; end of ahk section ;;;;;;;;;;;;;;;;;
/*
:getfilename
"C:\Program Files\AutoHotkey\AutoHotkey.exe" "%~f0" %*
goto gotfilename
*/
DosExitLabel =
(
:exit
pause
exit
REM =
)
刚设计了这个可以把 AutoHotKey 写在 .bat 档的脚本
(其实把副档名从 .bat 改成 .ahk 也可以执行
所以也可以说是把 DOS batch 嵌入 AutoHotKey)
让 AHK 脚本不需编译成 exe 即可执行
.bat 比起 .exe 的好处是可以随时修改程式码
另一个好处是不像 .ahk 要点右键 > Run Script
而是直接点两下就可以跑了
对我来说还有第三个好处 不过跟Python比较有关系 (
#1Dc6KVnY (Python))
注意事项:
1. .bat档在执行时
Windows会假设其编码为 ANSI/OEM encoding (以 zh-tw 的 locale 来说就是 big5)
若你的 .bat 存成 ANSI/OEM encoding 之外的 encoding
其 code point 表示的 character 可能会无法正常显示
甚至会产生执行错误
我的建议是
要使用 Non-ASCII character 的话 只写在 AHK 脚本的区域
2. 承上
若你的 .bat 档用的是 Unicode encoding (ex: UTF-8)
要注意有无 BOM
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.30.46
1F:推 Lumania:ahk 可以直接执行 不必按右键 常将ahk当批次档来用 04/04 18:27
嗯嗯 我知道 不过我习惯把 .ahk 关联到文字编辑器 @@
2F:→ kslman:习惯把ahk关联直接执行,要编辑ahk用快捷键呼叫常用编辑器 04/05 13:43
我写满多程式语言的 AHK只是其中之一而已
像是java或cpp之类的无法关联直接执行
所以我统一把source档(.java .c/.cpp .py .pl ...)都关联到文字编辑器
还有一个原因是 平常主要是trace code 直接拿来执行的机会倒比较少
※ 编辑: Holocaust123 来自: 140.112.30.46 (04/05 15:09)