找回密码
 加入
搜索
查看: 3423|回复: 11

[AU3基础] 为什么run命令不能运行自己把程序完整路径赋值的某变量?

  [复制链接]
发表于 2011-2-24 23:04:49 | 显示全部楼层 |阅读模式
随便测试一下

If regRead("HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R16.1\ACAD-301:804","Location")="" Then
        MsgBox(0,"","没有安装CAD2005")
        Exit
EndIf
$SN=RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R16.1\ACAD-301:804","Location")

$cad=$sn & "\acad.exe"
MsgBox(0,"",$cad)
Run($cad)
发表于 2011-2-24 23:08:56 | 显示全部楼层
不明白,但$SN和$sn不是一个值大概是可以肯定的
 楼主| 发表于 2011-2-24 23:14:05 | 显示全部楼层
不明白,但$SN和$sn不是一个值大概是可以肯定的
netegg 发表于 2011-2-24 23:08



    改了也一样的,msgbox显示了全路径了啊
发表于 2011-2-24 23:21:38 | 显示全部楼层
确定是全路径?那先直接run('全路径')试试看,前面的都不要
 楼主| 发表于 2011-2-24 23:35:15 | 显示全部楼层
奇怪,直接把路径拷贝到“运行”回车是可以运行的,怎么到了autoin用全路径也不能运行呢?(没有使用变量哦)
发表于 2011-2-24 23:41:42 | 显示全部楼层
用execute试试
发表于 2011-2-25 00:05:50 | 显示全部楼层
回复 1# friendtasy

$SN 的路径是什么?给大家看看.
发表于 2011-2-25 00:20:37 | 显示全部楼层
没装CAD不能验证。但我敢肯定是可以用变量路径运行的,可能你的路径有问题,比如有两个\\之类的
FileChangeDir 指定工作目录到该文件夹,再运行EXE文件,试试
$Path = "C:\Windows\system32\notepad.exe"
Run($Path)

If regRead("HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R16.1\ACAD-301:804","Location")="" Then
        MsgBox(0,"","没有安装CAD2005")
        Exit
EndIf
$SN=RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R16.1\ACAD-301:804","Location")

FileChangeDir($sn)
Run("acad.exe")
发表于 2011-2-25 00:33:06 | 显示全部楼层
可能是注册表的路径位置带有\\
比如exe本身路径为 c:\1.exe 在注册表里可能是c:\\1.exe
另外,楼主把你的$sn变量显示的是什么给大家截图看看,让大家看看是不是路径的问题。
发表于 2011-2-25 11:08:18 | 显示全部楼层
肯定是路径搞错了..
 楼主| 发表于 2011-2-25 13:21:22 | 显示全部楼层
路径没错,RUN也是可以执行变量的,不过由于刚安装没重启过系统所以出现这种现象,重启系统就可以run变量了
 楼主| 发表于 2011-2-25 23:37:59 | 显示全部楼层
路径倒是没错,系统重启后就能运行了,可能直接在菜单运行中运行,有某些环境变量直接生效,但在au3中run不能调用这些刚被软件添加的一些环境变量吧~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-21 13:42 , Processed in 0.123445 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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