作者ak77now (ak77now)
看板EzHotKey
标题Re: [AHK-] 怎麽处理相对路径?让脚本换电脑也可用
时间Fri Apr 13 00:41:21 2012
※ 引述《frank38 (:~)》之铭言:
: MsgBox, %A_WorkingDir%
: 上面这行执行看看,会跳出对话视窗,内容为你那个 .ahk 档的所在路径
: 因此你把要读的档案(c1.txt) 跟 .ahk 放在同一个目录下。
: *除非有用 SetWorkingDir 去指定 A_WorkingDir 的路径
: 否则 A_WorkingDir 预设值应该是指跟该.ahk档的路径相同
: ============
: Msgbox, FileRead %A_WorkingDir%\c1.txt
: FileRead, Clipboard, %A_WorkingDir%\c1.txt
: ;FileRead, Clipboard, c1.txt
: 推文中板友 eight0 所提示的这种也是可以的
: 预设就是读 .ahk 档相同目录
: 但原po试了不行....!??
: ;FileRead, Clipboard, %A_WorkingDir%\subFolder\c1.txt
: 如果是放在子目录下可以这样写
: if not ErrorLevel {
: Msgbox, FileRead successful.
: Send ^v
: } else {
: MsgBox, FileRead failed.
: }
: Return
: ============
: 上面的例子是可以运作的
: 我也试过放在中文资料夹内,也是可以跑的。
: 不过我好像是装 Unicode 版,不清楚有没有影响 (Win7 x64)
: 如果原 PO 的档案是放在有中文的资料夹,
: 那可以试试看在没有中文路径的环境下是否可正常运作。
: sample http://www.mediafire.com/?rmq2v12ts0s8q72
感谢您,有实际完整能运作的例子真的好懂很多!
而且我有发现到一个很奇怪的现象! (补充一下我是win7 64位元)
像我的AHK档预设的开启方式是记事本 (点两下开启的话是记事本的型态)
当我要运作AHK档的时候
我会在上面按右键=>选择Autohotkey
这样他就会出现在右下角执行了
很诡异的地方是我用这种方法执行您的脚本(未修改)是失败的
但这种情况却又能正常运作:
我用Convert .ahk to .exe把您的脚本(一样未修改过)转成执行档点两下执行
结果却是成功的!
--------------------------------------------
明明一样的脚本内容,在AHK档按右键执行跟将AHK档转成执行档却有两个结果
这在以往我执行其他脚本时是从未见过的;也是我一直执行失败的原因
--------------------------------------------
<1>
我用原本我按右键=>选择Autohotkey执行您的脚本时会出现的状况:
(我将您的档案整个内容放在D:AHK\AA的资料夹内)
1.在空白记事本输入c1弹出一个对话框,内容如下:
FileRead C:\Windows\system32\c1.txt
2.按下确定後跳出第二个对话框内容是:FileRead failed.
3.按下确定後跳出对话框显示:FileRead C:\Windows\system32\c2.txt
4.按下确定後跳出对话框:FileRead failed.
5.空白记事本没贴出任何东西
<2>
我用Convert .ahk to .exe将一样的脚本转成执行档执行後结果如下:
1.在空白记事本输入c1後弹出对话框:FileRead D:\AHK\AA\
2.按下确定後的对话框显示:FileRead successful.
(此时空白的记事本瞬间贴出c1.txt里面的一大段文字)
3.按下确定後跳出对话框:FileRead D:AHK\AA\c2.txt
4.按下确定後显示对话框:FileRead failed.
--------------------------------------------------------
真的
以往执行其他脚本不管我是按右键选AHK执行或是转成exe档结果都一样
可是就这次的脚本会有这种奇怪的现象
究竟是因为Win7 64的关系还是怎样呢
但我又试了另一种方法也是成功的:
<3>
原本我不是AHK档的预设开启方式是记事本吗(有需要才右键选择AHK执行)
但我把「预设开启的程式」改回AHK
(也就是点两下直接运作而不会跳出有程式码的脚本)
结果却也和<2>一样顺利运作!!
----------------------------------------------------
请问我是不是不该把预设开启的方式设定成记事本啊?
本来觉得没有差说 (的确啊,一直以来我这方式都没出过问题)
却在这次这种脚本下有了完全不同的结果
害我不断执行失败
搞得很沮丧
请问各位都是点两下预设AHK执行,要修改才右键选记事本修改吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.254.205.43