autoit常用命令.docx
《autoit常用命令.docx》由会员分享,可在线阅读,更多相关《autoit常用命令.docx(17页珍藏版)》请在冰豆网上搜索。
autoit常用命令
autoit常用命令
自动安装脚本几个常用命令简介
1、Run(“文件名”)——运行与脚本同一目录下的指定文件
2、WinWaitActive(“窗体标题”,“窗体文本”)——等待指定窗体出现3、Send(“”)——发送模拟按键。
Alt,n用!
n表示send("!
n");发送快捷键Alt,N
send("{SPACE}{TAB}{SPACE}{TAB}");默认状态下“查看freewb.chm”获得2个选项的分别焦点,发送空格将勾去掉。
;用TAB切换到下一个复选框
4、WinActive(“窗体标题”,”窗体文本”)——判断指定窗体是否激活5、ButtonNN后面的NN表示控件名编号
ControlClick("窗口标题","按钮文本描述","ButtonNN")相当于用鼠标点击一下,此窗口中的ButtonNN按钮。
ControlCommand("窗口标题","按钮文本描述","ButtonNN","UnCheck","")
此句作用是不选择此复选框。
ControlCommand("窗口标题","支按钮文本描述","ButtonNN","Check","")
此句作用是选择此复选框,即打上勾。
ControlCommand("窗口标题","","ComboBoxNN","SelectString",'下拉框或列表框内容')
等等。
更多内容可以参看说明文件。
1、设置文本,修改路径
先用上文中提到的AutoIt3WindowSpy或AutoItWindowInfo来获得这个路径的编辑框的信息,假设这个窗口的标题为Setupfoobar,该路径编辑框的类名是Edit1,而我们需要把它改成“D:
\foobar2000”,
接下来就可以使用下列命令/函数来设置它的文本了:
语法:
ControlSetText("窗口标题","窗口文本",控件ID,"新文本")具体用法如下:
【例1】
ControlSetText("Setupfoobar","","Edit1","D:
\foobar2000")
类似可用Send命令或者ControlSend实现上面的效果,方法较为简单
2、选中和取消选中单选框和复选框项目
ControlCommand("窗口标题","窗口文本",控件ID,"命令","选项")其中,“命令”就是让我们指定要进行何种设置的参数。
对这些单选框/复选框按钮来说,适用的命令是
“Check”和“UnCheck”。
假设这个窗口的标题是为Setupfoobar,我们打算进行下来操作:
选中它的“桌面”复选框(Button5)、取消选中“快速启动栏”复选框(Button7);
选中“0.7x”单选框(Button14)。
那么具体的用法示例如下:
【例2】
ControlCommand("foobar","","Button5","Check","")
ControlCommand("foobar","","Button7","UnCheck","")
ControlCommand("foobar","","Button14","Check","")
3、选择下拉列表的项目
仍是使用上面提到的命令/函数。
对这种控件而言,AU3适用的命令则是“SetCurrentSelection,N”和
“SelectString,String”,分别表示选中第N+1(注意是从零开始表示~)个项目和选中与字符串String匹
配的项目。
假设我们要选中第五个项目“简体中文”,那么具体的用法示例如下:
【例3】
ControlCommand("Installer","","ComboBox1","SetCurrentSelection",4)
ControlCommand("Installer","","ComboBox1","SelectString","简体中文")
4.ifwinactive("目录已存在")Then
;如果窗体"目录已存在"是激活状态
send("!
y")
;发送快捷键Alt,Y
EndIf
1>EnvGet
作用:
获取当前环境变量的值
语法:
EnvGet("环境变量")
范例:
$SysDrv=EnvGet("systemdrive")运行完成后,$SysDrv将记录环境变量%SystemDrive%的值,如果系统盘为C盘,则$SysDrv的值为“C:
”
2>EnvSet
作用:
设置环境变量和其值
语法:
EnvSet("环境变量"[,"值"])
范例:
EnvSet("TEMP",EnvGet("systemdrive")&”\Windows\Temp”)运行完成后,%TEMP%这个环境变量的值将被修改,如果系统盘为C盘,则%TEMP%
的值为“C:
\Windows\Temp”
3>DirCopy
作用:
复制指定目录及其所有子目录和文件
语法:
DirCopy("源目录","目标目录"[,标志])参数:
[标志],为0(默认)时不覆盖已有的文件夹,为1则覆盖
Skyfree","D:
\Skyfree",1)范例:
DirCopy("C:
\
4>DirCreate("路径")
作用:
创建文件夹
语法:
DirCreate("路径")
范例:
DirCreate("C:
\Skyfree")
5>DirGetSize
作用:
返回指定目录的占用空间大小(单位:
字节)
语法:
DirGetSize("目标路径")
范例:
$Size=DirGetSize("C:
")/1024/1024
由于DirGetSize返回值的单位是字节,所以我们需要连续除以两次1024才能得到MB级别的剩余空间
6>DirMove
作用:
移动指定目录及其所有子目录和文件
语法:
DirMove("源目录","目标目录"[,标志])参数:
[标志],为0(默认)时不覆盖已有的文件夹,为1则覆盖范例:
DirMove("C:
\Skyfree","D:
\Skyfree",1)
7>DirRemove
作用:
删除一个目录/文件夹
语法:
DirRemove("路径"[,递归遍历])
参数:
[递归遍历],0则不删除其子文件和文件夹,1则删除
范例:
DirRemove("C:
\Skyfree",1)
8>DriveGetFileSystem
作用:
返回指定驱动器的文件系统类型
语法:
DriveGetFileSystem("路径")
返回值:
1(数字),未知的文件格式
FAT,FAT格式
FAT32,FAT32格式
NTFS,NTFS格式
CDFS,CD格式
UDF,DVD格式
范例:
$Format=DriveGetFileSystem("C:
\")
9>DriveGetType
作用:
返回指定驱动器的类型
语法:
DriveGetType("路径")
返回值:
"Unknown"(未知类型)、"Removable"(可移动)、"Fixed"(固定的)、"Network"(网络)、"CDROM"
"RAMDisk"(内存盘)(光驱)、
范例:
$Type=DriveGetFileSystem("C:
\")
10>DriveSpaceFree
作用:
以MB(兆字节)为单位返回指定路径所在分区的剩余空间语法:
DriveSpaceFree("路径")
范例:
$FreeSpace=DriveSpaceFree("C:
\")/1024
这样将获得GB级别的剩余体积
11>FileCreateShortcut
作用:
创建指定文件的快捷方式(.lnk文件)
语法:
FileCreateShortcut("目标文件","lnk文件"[,"工作目录"])范例:
FileCreateShortcut("D:
\360safe\360Safe.exe",@DesktopCommonDir&"\360
安全卫士.lnk","D:
\360safe")
12>FileCopy
作用:
复制一个或多个文件
语法:
FileCopy("源文件","目标路径"[,标志])参数:
[标志]0=(默认)不覆盖存在的文件
1=覆盖存在的文件
8=如果目标文件夹不存在,就先创建(查看注意部分)
范例:
FileCopy("C:
\Skyfree.esp","D:
\Skyfree.esp",1)
13>FileDelete
作用:
删除一个或多个文件
语法:
FileDelete("路径")
范例:
FileDelete("C:
\Skyfree\Skyfree.esp")
14>FileExists
作用:
检查指定文件或目录是否存在
语法:
FileExists("路径")
返回值:
存在则返回1(真),不存在则返回0(假)范例:
IfFileExists("C:
\Skyfree\Skyfree.esp")Then
MsgBox(0,"","存在")
Else
MsgBox(0,"","不存在")
EndIf
15>FileMove
作用:
移动一个或多个文件
语法:
FileMove("源文件","目标路径"[,标志])参数:
[标志]0=(默认)不覆盖存在的文件
1=覆盖存在的文件
8=如果目标文件夹不存在,就先创建(查看注意部分)范例:
FileMove("C:
\Skyfree.esp","D:
\Skyfree.esp",1)
16>FileSetAttrib
作用:
修改一个或多个文件的属性
语法:
FileSetAttrib("文件","+RASHNOT")参数:
"R"=READONLY(只读)
"A"=ARCHIVE(存档)
"S"=SYSTEM(系统文件)
"H"=HIDDEN(隐藏文件)
"N"=NORMAL(普通)
"O"=OFFLINE(脱机文件)
"T"=TEMPORARY(临时文件)
+增加属性,例如+R、+S、+H
去除属性,例如R、S、H
范例:
FileSetAttrib("C:
\Skyfree.esp","+RSH")
FileSetAttrib("C:
\Skyfree.esp","RSH")
17>IniRead
作用:
从某标准配置文件(*.ini)中读取某个数值
语法:
IniRead("文件名","字段名","关键字","默认值")范例:
IniRead("C:
\Windows\AllUsrRun.ini","PreSetup","Exe","NA")
这行语句的意思是从C:
\Windows\AllUsrRun.ini这个配置文件中寻找PreSetup段,再从PreSetup这段下寻找Exe关键字,随后读取Exe关键字对应的值,如果Exe返回“NA”。
关键字的值为空则IniRead是十分常用的函数,常用于读取外部配置文件以改变程序运行的方法。
18>IniWrite
作用:
向某标准配置文件(*.ini)中写入某个数值
语法:
IniWrite("文件名","字段名","关键字","数值")范例:
Sysprep\AutoSysprep.ini","SK3","UnDev","True")IniWrite("C:
\
IniWrite和IniRead是对应的,IniWrite用来写配置文件,上面语句的意思是寻找c:
\Sysprep\AutoSysprep.ini这个配置文件,并寻找SK3这一段,再
SK3段中寻找UnDev项并把这项的值设置为True。
由
19>Random
作用:
产生一个伪随机的浮点数
语法:
Random([最小值[,最大值[,标志]]])
参数:
最小值,随机数的最小值,默认为0
最大值,随机数的最大值,默认为1
标志,设为1则返回整数,默认则返回一个浮点数
范例:
$Rs=Random(2,5,1)
上述语句将随机选取2到5之间的一个整数赋值给$Rs。
20>InputBox
作用:
显示以一个输入框以供用户输入数据
语法:
InputBox("标题","提示信息"[,"默认数据"[,"密码字符"[,宽度,高度[,左边,上边[,超时时间]]]]])
参数:
标题,输入框的标题文字
提示信息,提示用户程序需要获得的数据
默认数据,显示在输入文本框中的默认文字
密码字符,[可选参数]显示在输入文本框中用以代替用户输入字符的字符。
如果要正常显示字符只需定义此参数为空字符串""(默认)或空格字符即可。
如果此参数被设为多字符的字符串则只有第一个字符才有效。
第二个字符及后面的
其它字符有其它特殊用途。
请查看下面的注意部分
宽度,可选参数]窗口宽度。
如有指定此参数则高度参数也必须指定。
指定1则表示使用默认宽度
高度,可选参数]窗口高度。
如有指定此参数则宽度参数也必须指定。
指定1则表示使用默认高度
左边,可选参数]输入框左边离屏幕左边的距离(象素)。
默认情况下,输入框是居中显示的,如有指定此参数则上边参数也必须指定上边,可选参数]输入框上边离屏幕左边的距离(象素)。
默认情况下,输入框是居中显示的,如有指定此参数则“左边”参数也必须指定
超时时间,[可选参数]以秒为单位。
指定时间过后输入框将自动关闭范例:
$passwd=InputBox("权限核查","请输入密码:
","","*")
21>MsgBox
作用:
显示一个简单的对话框(可设置超时属性)
语法:
MsgBox(标志,"标题","文本"[,超时时间])参数:
标志,标志是几个值的加和,我只介绍最常用的两类值,如果有更多的需要请参阅AU3帮助文件。
一个是要显示的按钮的对应值,一个是要显示的提示图标对应的值。
值如下:
按钮对应的值:
0=确定
1=确定和取消
2=终止、重试、忽略
3=是、否、取消
4=是和否
5=重试和取消
6=取消、重试、继续
提示图标对应的值:
0=(无图标)
16=警告标志(一般用于错误提示)
32=问号图标
48=感叹号图标
64=由一个“i”和圆圈组成的图标(消息通知)
返回值:
这些返回值代表着所按下的按钮,
OK(确定)=1
CANCEL(取消)=2
ABORT(终止)=3
RETRY(重试)=4
IGNORE(忽略)=5
YES(是)=6
NO(否)=7
TRYAGAIN(重试)=10
这两个值的列
范例:
CONTINUE(继续)=11
$Flag=MsgBox(4+32,"驱动包删除","是否要删除系统驱动包备份,")If$Flag=6Then
DirRemove("C:
\Drivers",1)
EndIf
这个例子中,$Flag用来记录MsgBox执行后的返回值,MsgBox由于我的标志选择了4+32,这将意味着这个MsgBox框中会有Yes和No两个按钮并且提示标志是一个“?
”,在随后的判断中,$Flag如果等于6,则代表我在MsgBox中单击了Yes这个按钮,这将执行DirRemove("C:
\Drivers",1),否则将不执行。
22>ToolTip
作用:
在屏幕的任意位置显示一个工具提示
语法:
ToolTip("文本"[,X坐标[,Y坐标[,"标题"[,图标[,选项]]]]])参数:
文本,工具提示的文本(如果是空字符串则清除现有的工具提示)X,Y坐标,[可选参数]工具提示出现位置地X和Y坐标
可选参数]工具提示的标题,需要IE5+支持图标,标题,[
可选参数]预定义标题显示的图标:
需要IE5+支持.需要设置一个标题,0=没有图标,1=信息图标,2=警告图标,3=错误图标
选项=[可选参数]为不同的显示类型设置不同的显示选项:
1=显示气泡提示,需要IE5+支持
2=在X,Y坐标中,居中显示提示.而不是在左上角显示.
4=如果有必要,强制显示工具提示总是可见,如果有多个显示器并且工具提示显示于屏幕边界,那么在另外的显示器上面也会显示。
这个选项不能工作于WindowsNT平台,否则工具提示只能限制在主显示器里面。
范例:
TooTip可以很简单帮我们做出来一些提示,这些提示有些事后很有用。
ToolTip(@CR&""&"正在安装AMD双核驱动..."&""[email=&@CR]&@CR[/email],@DesktopWidth260,
@DesktopHeight120)
23>RunWait
作用:
运行一个外部程序并暂停脚本的执行直至该程序执行完毕语法:
RunWait("文件名"[,"工作目录"[,标志]])参数:
文件名,可执行文件的完整路径(文件格式为EXE、BAT、COM或PIF)工作目录,[可选参数]工作目录。
标志,[可选参数]启动程序时的初始状态:
@SW_HIDE=隐藏窗口
@SW_MINIMIZE=最小化窗口
@SW_MAXIMIZE=最大化窗口
范例:
RunWait("C:
\Skyfree\1.exe","",@SW_HIDE)
RunWait("C:
\Skyfree\2.exe","",@SW_HIDE)
隐藏运行1.exe,1.exe运行完毕再隐藏运行2.exe。
还有一个Run函数,和RunWait类似,只是Run函数只调用外部程序运行而
不等待这个外部程序的运行结束。
24>Shutdown
作用:
关机操作
语法:
Shutdown(参数)
参数:
0=Logoff(注销)
1=Shutdown(关机)
2=Reboot(重启)
4=Force(强制执行)
8=Powerdown(关机)
32=Suspend(待机)
64=Hibernate(休眠)
范例:
Shutdown(Reboot)
25>RegDelete
作用:
从注册表中删除指定键值
语法:
RegDelete("键名"[,"值项"])范例:
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE","TestKey")
26>RegRead
作用:
读取注册表指定的值
语法:
RegRead("键名","值项")
范例:
$Reg=
RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
",
"ProgramFilesDir")
27>RegWrite
作用:
创建一个主键、子键或值项
语法:
RegWrite("键名"[,"值项","类型",数据])参数:
类型,[可选参数]目标值项的数据类型,比如:
"REG_SZ"、"REG_MULTI_SZ"、
"REG_EXPAND_SZ"、"REG_DWORD"或"REG_BINARY"。
范例:
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Test","TestKey","REG_SZ",
"Hellothisisa
test")
28>StringInStr
作用:
检查某个字符串是否含有给定的子串
语法:
StringInStr("字符串","子串"[,区分大小写[,出现次序]])参数:
字符串,目标字符串。
子串,要搜索的子串。
区分大小写,[可选参数]指定匹配操作是否要区分大小写。
0=不区分大小写(默认)
1=区分大小写
2=不区分大小写,使用基本/快速的比较方法
出现次序,[可选参数]指定要提取目标字符串中第几个匹配的子串。
若给定的是负数则表示要从字符串右边开始搜索。
默认值为1(搜索第一个匹配的子串)。
返回值:
包含则返回1(真),不包含则返回0(假)
范例:
IfStringInStr("nVIDIAGeforce8600GTS","nVIDIA")Then
$SndName="nVIDIA"
EndIf
29>StringLen
作用:
返回指定字符串的字符总数
语法:
StringLen("字符串")
范例:
$Length=StringLen("Skyfree")此时,$Length的值应该为7
30>StringMid
作用:
取某个字符串的部分字符
语法:
StringMid("字符串",起始位置[,数量])
范例:
$S=StringMid("Skyfree",4,4)此时,$S的值应该为“free”
31>Sleep
作用:
使脚本暂停指定时间段
语法:
Sleep(延迟)
范例:
Sleep(3000)
暂停脚本运行3秒,注意,参数里的“延迟”是以毫秒为单位的。
好了,终于把AU3常用的函数介绍完了,是不是看得有点晕了,这31个函数是所有AU3函数相对常用的,AU3的函数十分的多,而且功能十分的多,如果
想要了解关于更多AU3函数的知识,可以参阅AU3帮助文档。
高级篇、AU3中的宏
什么是宏,不要被这个术语吓到了,宏的意思简单的来说,就是一些系统预先命名好的常量。
写程序的过程中可以使用这些宏所代表的数据,但是不可对这些宏进行赋值操作。
常用的宏有如下这些——
@AppDataCommonDir,公共ApplicationData文件夹所在路径
@AppDataDir,当前用户ApplicationData文件夹所在路径
@ComSpec,%comspec%的值,指定的第二个命令解释程序(SPECifiedsecondaryCOMmand
interpreter),主要用于命令行使用,如.Run(@ComSpec&"/khelp|more")
@CR,回车符,用于换行
@