找回密码
 加入
搜索
查看: 4851|回复: 12

[AU3基础] [AU3基础]只能在绝对路径运行脚本,怎么解决

 火.. [复制链接]
发表于 2012-1-19 22:54:36 | 显示全部楼层 |阅读模式
本帖最后由 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") ------ 就会失败,有错误


这是为什么,请高手帮忙

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2012-1-19 22:56:01 | 显示全部楼层
run的第二个参数就是解决运行目录的!
发表于 2012-1-19 22:59:30 | 显示全部楼层
不知道你在担心什么, 本来运行程序就是这样需要指定路径, 除非在当前路径下或系统默认的一些路径下(比如System32).
如果你嫌路径名过长麻烦, 请你查看一下帮助文件里有关系统宏等的说明!
发表于 2012-1-20 09:08:10 | 显示全部楼层
楼上的说得对这样会好很多,你说的意思大概明白,你那2个函数都可以用
发表于 2012-1-20 09:38:03 | 显示全部楼层
帮助没仔细看哈。。
 楼主| 发表于 2012-1-20 10:05:52 | 显示全部楼层
回复 3# user3000

怪我昨天漏打了几个字:
    但是如果在桌面创建新的脚本,然后在这个脚本里运行 ShellExecute("C:\Program Files\Unigine\Heaven\Unigine.exe") 或者 run("C:\Program Files\Unigine\Heaven\Unigine.exe")    就会有错误,这是为什么
发表于 2012-1-20 10:28:42 | 显示全部楼层
回复  user3000

怪我昨天漏打了几个字:
    但是如果在桌面创建新的脚本,然后在这个脚本里运行 She ...
longye 发表于 2012-1-20 10:05


兄弟, 同一句话, 多一个字或少几个字, 它的意思可能就会是天壤之别了!

你这问题是Windows系统的固有的'毛病'吧, 运行路径名包含空格的程序, 必须用双引号把它括住.
你试试:
ShellExecute('"C:\Program Files\Unigine\Heaven\Unigine.exe"')
Run('"C:\Program Files\Unigine\Heaven\Unigine.exe"')
 楼主| 发表于 2012-1-20 10:54:38 | 显示全部楼层
回复 7# user3000


    加了单引号,还是不行。我上图吧,可以看得清楚点
发表于 2012-1-20 11:31:26 | 显示全部楼层
看看二楼。再看看你运行的程序和你的报错吧。你运行的程序,需要调用那个程序所在目录的其它程序,由于没有加上第二参数,调用失败。这样试试呢:
run("C:\Program Files\Unigine\Heaven\Unigine.exe","C:\Program Files\Unigine\Heaven")
发表于 2012-1-20 11:49:17 | 显示全部楼层
一看图片, 明显就是工作目录的问题!
2楼 9楼 都指出来了...
补充下吧, ShellExeCute 的第二个参数, 也是用来指定程序工作路径的
 楼主| 发表于 2012-1-20 13:08:42 | 显示全部楼层
回复 10# user3000


    谢谢,确实是这样,我学的太浅。
发表于 2012-1-20 14:47:12 | 显示全部楼层
楼主好厉害啊,潜水3年了
发表于 2012-1-20 17:25:24 | 显示全部楼层
Run ("C:\Program Files\Unigine\Heaven\Unigine.exe","C:\Program Files\Unigine\Heaven\Unigine.exe")
这个可行,又或者试试相对路径
Run (".\Unigine.exe",".\Unigine.exe")
帮助真的是个不错的好帮手。。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 11:56 , Processed in 0.084364 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表