有没有类似 批处理里 %1的 用法(已解决)
本帖最后由 xdao 于 2010-12-4 23:45 编辑批处理里把外部的 %1 %2带到程序里当变量
在AU3里 有没有一样的功能 是怎么用的 本帖最后由 yhxhappy 于 2010-12-3 22:37 编辑
是不是以下的意思呢?内容是从帮助文档复制过来的,在"使用Autoit"下有一篇“命令行参数”介绍这个的
当我们传递命令行参数到 AutoIt 脚本中的时候, AutoIt 会初始化一个特殊的数组 $CmdLine :
$CmdLine --- 参数的个数
$CmdLine --- 第一个参数 (在脚本名称后面)
$CmdLine --- 第二个参数
...
$CmdLine[$CmdLine] --- 某个方法获取的最后一个参数...
值得注意的是不能将脚本名作为参数类; 要获取脚本名, 请使用 @ScriptName 代替.
参数中如果含有空格,必须使用 "双引号"把内容围住. 编译 脚本同样也能接受命令行参数.
如果你的脚本是这样运行的:
AutoIt3.exe myscript.au3 参数1 "这 是 另一个 参数"
$CmdLine --- 等于 2, 命令行有两个参数
$CmdLine --- 等于第一个参数: "参数1"
$CmdLine --- 等于第二个参数: "这 是 另一个 参数"
@ScriptName --- 等于脚本名称: myscript.au3
除 $CmdLine 之外还有一个名为 $CmdLineRaw 的变量, 包含未被拆分的完整命令行.
因此,对于上面的例子:
$CmdLineRaw --- 等于: myscript.au3 参数1 "这 是 另一个 参数"
如果脚本被编译, 并这样运行:
myscript.exe 参数1 "这 是 另一个 参数"
$CmdLineRaw 等于: 参数1 "这 是 另一个 参数"
注意 $CmdLineRaw 会立即返回参数.
注意 : 只有 63 个参数会被 $CmdLine[...] 返回. 但 $CmdLineRaw 总是返回完整的命令行. 传递命令行参数到 AutoIt 写的程序时,参数用一个数组$CmdLine存放
例如A.exe是一个AUTOIT写的程序,带参数运行它,Run("A.exe /s /a")
此时A.exe里面的数组$CmdLin的值便是 $CmdLine = /s; $CmdLine = /a,如果A.exe里面放一行_ArrayDisplay($CmdLine, $CmdLineRaw) 就能看得到转递的参数
我想 $CmdLine 就是楼主说的%1,而$CmdLine就是%2,以此类推
对批处理不了解,临时搜索了%1是意思,可能理解的不对 OK就是这个意思 我再好好研究一下 把一个文件拖到脚本上这个文件的地址 是不是也就是$CmdLine 不是,这个变量存放你拖放的文件的路径 $CmdLineRaw 后来试了一下 那个文件路径 不是$cmdlineraw 拖到脚本上的文件路径 就是$cmdline
页:
[1]