找回密码
 加入
搜索
查看: 8120|回复: 17

[AU3基础] [已解决,感谢afan版主]问个很基础的问题……

 火.. [复制链接]
发表于 2010-8-12 22:13:40 | 显示全部楼层 |阅读模式
本帖最后由 wl00560 于 2010-8-12 23:55 编辑

问题1
run("f:\Program Files\CCED2000\cced2000.exe")
没办法成功,没有出错提示,就是没反应……
奇怪的是:
run("c:\Program Files\CCED2000\cced2000.exe")
却能成功
后来试了很久,发现除了这个目录(f:\Program Files)外,都能成功
但──
run("f:\Progra~1\CCED2000\cced2000.exe")
能够成功
这究竟是什么原因?实在不明白了。而且昨天我都成功过,今天不知动了什么东西,就不能成功了。大家帮忙分析一下原因。

问题2
如何运行这样的格式:
Run("F:\program Files\TotalCMD\TotalCMD.exe /s=s F:\Program Files E:\Backup\Program Files")
发现只有把所有Program Files目录改为progra~1这样的短文件名才能成功,尤其是后面两个(因为昨天第一个是长文件名时,也能成功。但后面必须要是短文件名)。但这样很不美观啊,呵呵

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-8-12 22:35:36 | 显示全部楼层
本帖最后由 水木子 于 2010-8-12 22:38 编辑

建议去看看该函数的说明!

如果路径中含有空格,请在两侧添加英文引号(")

貌似 ShellExecute 该函数并没有这个限制,不妨试试吧!
 楼主| 发表于 2010-8-12 22:46:56 | 显示全部楼层
引号有啊,我也查过资料的……
还有,你可能没有仔细看我写的东西吧,呵呵……
发表于 2010-8-12 22:51:24 | 显示全部楼层
run("f:\Program Files\CCED2000\cced2000.exe", "f:\Program Files\CCED2000")
行不?
不行?
run("f:\Program Files\CCED2000\cced2000.exe", "c:\Program Files\CCED2000")
行不?
 楼主| 发表于 2010-8-12 22:57:09 | 显示全部楼层
回复 4# afan
一样,什么反应都没有……
其实我那个代码,其余目录都能运行,就是这个目录不可以,我就郁闷了……
发表于 2010-8-12 22:58:47 | 显示全部楼层
回复 5# wl00560


    是不是路径写错了?
 楼主| 发表于 2010-8-12 23:04:17 | 显示全部楼层
路径不可能错,这点常识我还是有的。
而且别的地方都可以……
现在怀疑是不是牵涉到权限问题……我只能这样想了,但看权限也看不出什么来……
这个目录是我安装程序的目录,杀毒软件之类的都在里面,所以这个目录的特殊在于,很多进程中都有它,目录本身无法重命名或移动,与这个有关吗?
 楼主| 发表于 2010-8-12 23:05:18 | 显示全部楼层
本帖最后由 wl00560 于 2010-8-12 23:07 编辑

而且文件昨天还执行的好好的,今天就不行了,重装了AutoIt也不行……
而且现在有一点很古怪,我把路径乱写,AutoIt不执行,也不报错,昨天都报错的……
肯定是哪儿出错了……
 楼主| 发表于 2010-8-12 23:12:32 | 显示全部楼层
本帖最后由 wl00560 于 2010-8-12 23:14 编辑

ShellExecute刚才用了一下,下面可以成功
ShellExecute("f:\Program Files\CCED2000\cced2000.exe")
下面还是失败,称找不到文件
ShellExecute("F:\program Files\TotalCMD\TotalCMD.exe /s=s F:\Program Files E:\Backup\Program Files")
发表于 2010-8-12 23:21:13 | 显示全部楼层
ShellExecute("f:\Program Files\TotalCMD\TotalCMD.EXE", "/s=s F:\DOSTools E:\Backup\DOSTools")
 楼主| 发表于 2010-8-12 23:28:56 | 显示全部楼层
回复 10# afan
感谢,成功了……
最后一个问题
ShellExecute("F:\program Files\TotalCMD\TotalCMD.exe“, " /s=s F:\Program Files E:\Backup\Program Files")
应该怎样写?我按照你给的格式(如上),结果却出现类似“E:\Backup\Program“的字符,丢掉了后面的“Files”,应该怎样写才正确?
发表于 2010-8-12 23:48:16 | 显示全部楼层
ShellExecute('F:\program Files\TotalCMD\TotalCMD.exe', ' /s=s "F:\Program Files" "E:\Backup\Program Files"')
发表于 2010-8-12 23:52:44 | 显示全部楼层
我也来凑个热闹
run('"F:\Program Files\CCED2000\cced2000.exe"')
 楼主| 发表于 2010-8-12 23:54:14 | 显示全部楼层
回复 12# afan
成功了,你真厉害,呵呵……
居然还要加单引号,我想破脑筋也想不到啊,多谢了!
 楼主| 发表于 2010-8-12 23:57:43 | 显示全部楼层
回复 13# xsjtxy

好奇怪,这个也成功了,单引号“威力”可真大呀,上网查点这方面的资料去,也谢谢你了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-25 16:41 , Processed in 0.093819 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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