为什么run命令不能运行自己把程序完整路径赋值的某变量?
随便测试一下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) 不明白,但$SN和$sn不是一个值大概是可以肯定的 不明白,但$SN和$sn不是一个值大概是可以肯定的
netegg 发表于 2011-2-24 23:08 http://www.autoitx.com/images/common/back.gif
改了也一样的,msgbox显示了全路径了啊 确定是全路径?那先直接run('全路径')试试看,前面的都不要 奇怪,直接把路径拷贝到“运行”回车是可以运行的,怎么到了autoin用全路径也不能运行呢?(没有使用变量哦) 用execute试试 回复 1# friendtasy
$SN 的路径是什么?给大家看看. 没装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") 可能是注册表的路径位置带有\\
比如exe本身路径为 c:\1.exe 在注册表里可能是c:\\1.exe
另外,楼主把你的$sn变量显示的是什么给大家截图看看,让大家看看是不是路径的问题。 肯定是路径搞错了.. 路径没错,RUN也是可以执行变量的,不过由于刚安装没重启过系统所以出现这种现象,重启系统就可以run变量了 路径倒是没错,系统重启后就能运行了,可能直接在菜单运行中运行,有某些环境变量直接生效,但在au3中run不能调用这些刚被软件添加的一些环境变量吧~
页:
[1]