FAQ 里的关于加参数运行的问题!
http://www.autoitx.com/forum.php?mod=viewthread&tid=487&extra=page%3D2看了这个贴子的Gooker的回答:
$CmdLine 保存着命令行中参数的个数(不包括脚本文件名)
$CmdLine 是第 1 个参数
$CmdLine 则是第 2 个参数
如果只有/a 的话 $CmdLine =1 $CmdLine =/a
看到FAQ里3hen弄的一个参数的例子.
如果放多个参数,
If $cmdline <> 0 Then
$1 = $cmdline
MsgBox(4096, "测试", '你输入的命令行参数是 "' & $1 & '"')
$2 = $cmdline
MsgBox(4096, "测试", '你输入的命令行参数是 "' & $2 & '"')
$3 = $cmdline
MsgBox(4096, "测试", '你输入的命令行参数是 "' & $3 & '"')
Else
MsgBox(64, "测试", '请带参数运行此程序')
EndIf
试过,好像可以,只是弹出MSGBOX之后,点确定会出来一个错误:Line -1 错误的数组或数组超出界限
怎么回事?
[ 本帖最后由 浅绿 于 2008-5-14 16:40 编辑 ] 不要编译,在编辑器里面按F5看错误信息 不要编译,在编辑器里面按F5看错误信息
不编译的话看不到错误..按F5就弹出Msgbox了,MsgBox(64, "测试", '请带参数运行此程序')
:face (9): FAQ的写法不是这样的。你的写法本身有误。。。
$2 = $cmdline本身没有,当然出错了。。。
多个未知参数应该这样用的了。
For $i = 1 To $CmdLine 这样看代码的效果真不好看
:face (7): 直接复制过去不好用.
For $i = 1 To $CmdLine
next
提示跟原来一样,还是那个 -1的错误..
看完火影睡觉啦..明天过来看答案.:face (22): If $CmdLine > 0 Then
For $I = 1 to $CmdLine
MsgBox(0,$I,$CmdLine[$I])
Next
EndIf
这样不行么?我试了很多次 很多种参数的情况下都可以. 咋试的?
我试的MSG到是正常。
参数1=Run("扫雷.exe")
参数2=Run("扫雷.exe")
用For next,不管加什么参数都是运行:扫雷.exe 加100也运行 扫雷.exe
有没有完整的例子给个看看,比如 加:/sl 运行扫雷,加:/jp 运行纸牌 反正我是不管怎么试都可以。。。。。。。。。
If $CmdLine > 0 Then
For $I = 1 to $CmdLine
MsgBox(0,$I,$CmdLine[$I])
If $I = 1 Then
Switch $Cmdline[$I]
Case "ping"
Run("ping 127.0.0.1")
Case "calc"
Run("Calc")
EndSwitch
ElseIf $I = 2 Then
Switch $Cmdline[$I]
Case "ex"
Run("explorer")
Case "dx"
Run("dxdiag")
EndSwitch
EndIf
Next
EndIf 贴子改成已解决了,好像还是不明白。。不知道是不是版本的问题。。提示什么编码U什么的。。
谁会。。再教一下。。:face (22):
我也遇到这种情况 好像是多余的 但是解决了出错
Dim $iMsgBoxAnswer,$i1,$i2,$i3,$i4,$i5If $CmdLine > 0 Then
For $I = 1 to $CmdLine
If $I = 1 Then
$i1 = $Cmdline[$I]
ElseIf $I = 2 Then
$i2= $Cmdline[$I]
ElseIf $I = 3 Then
$i3= $Cmdline[$I]
ElseIf $I = 4 Then
$i4= $Cmdline[$I]
ElseIf $I = 5 Then
$i5= $Cmdline[$I]
EndIf
Next
Switch $Cmdline
Case "-jiami"
if $i2 = "" Then
_jiami("","","0",@ScriptDir)
Else
_jiami("","","1",$i2 & "\")
EndIf
Case "-shanchu"
if $i2 = "" Then
_shanchu(@ScriptDir)
Else
_shanchu($i2 & "\")
EndIf
Case "-dakai"
if $i2 = "" Then
_start("1",@ScriptDir)
Else
_jiami("","","0",$i2 & "\")
EndIf
Case "-s"
_reg()
EndSwitch
Endif
页:
[1]