[AU3基础]只能在绝对路径运行脚本,怎么解决
本帖最后由 longye 于 2012-1-20 10:58 编辑各位高手,我安装了一个软件,名字是Unigine.exe,其绝对路径是: "C:\Program Files\Unigine\Heaven\Unigine.exe"
现在,我的问题是。我只能在 "C:\Program Files\Unigine\Heaven\“这个路径下创建一个新的au3脚本,才能运行--run("Unigine.exe") 或者 ShellExecute("Unigine.exe")才能成功。
但是如果在桌面创建新的脚本,然后运行 ShellExecute("C:\Program Files\Unigine\Heaven\Unigine.exe") 或者 run("C:\Program Files\Unigine\Heaven\Unigine.exe") ------ 就会失败,有错误
这是为什么,请高手帮忙 run的第二个参数就是解决运行目录的! 不知道你在担心什么, 本来运行程序就是这样需要指定路径, 除非在当前路径下或系统默认的一些路径下(比如System32).
如果你嫌路径名过长麻烦, 请你查看一下帮助文件里有关系统宏等的说明! 楼上的说得对这样会好很多,你说的意思大概明白,你那2个函数都可以用 帮助没仔细看哈。。 回复 3# user3000
怪我昨天漏打了几个字:
但是如果在桌面创建新的脚本,然后在这个脚本里运行 ShellExecute("C:\Program Files\Unigine\Heaven\Unigine.exe") 或者 run("C:\Program Files\Unigine\Heaven\Unigine.exe") 就会有错误,这是为什么 回复user3000
怪我昨天漏打了几个字:
但是如果在桌面创建新的脚本,然后在这个脚本里运行 She ...
longye 发表于 2012-1-20 10:05 http://www.autoitx.com/images/common/back.gif
兄弟, 同一句话, 多一个字或少几个字, 它的意思可能就会是天壤之别了!
你这问题是Windows系统的固有的'毛病'吧, 运行路径名包含空格的程序, 必须用双引号把它括住.
你试试:ShellExecute('"C:\Program Files\Unigine\Heaven\Unigine.exe"')
Run('"C:\Program Files\Unigine\Heaven\Unigine.exe"') 回复 7# user3000
加了单引号,还是不行。我上图吧,可以看得清楚点 看看二楼。再看看你运行的程序和你的报错吧。你运行的程序,需要调用那个程序所在目录的其它程序,由于没有加上第二参数,调用失败。这样试试呢:
run("C:\Program Files\Unigine\Heaven\Unigine.exe","C:\Program Files\Unigine\Heaven") 一看图片, 明显就是工作目录的问题!
2楼 9楼 都指出来了...
补充下吧, ShellExeCute 的第二个参数, 也是用来指定程序工作路径的 回复 10# user3000
谢谢,确实是这样,我学的太浅。 楼主好厉害啊,潜水3年了{:face (125):} Run ("C:\Program Files\Unigine\Heaven\Unigine.exe","C:\Program Files\Unigine\Heaven\Unigine.exe")
这个可行,又或者试试相对路径Run (".\Unigine.exe",".\Unigine.exe")
帮助真的是个不错的好帮手。。。
页:
[1]