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按钮。
ControlCommand ( \"窗口标题\按钮文本描述\
此句作用是不选择此复选框。
ControlCommand ( \"窗口标题\支按钮文本描述\
此句作用是选择此复选框,即打上勾。
ControlCommand(\"窗口标题\\"ComboBoxNN\'下拉框或列表框内容')
等等。更多内容可以参看说明文件。
1、设置文本,修改路径
先用上文中提到的AutoIt3 Window Spy 或 AutoIt Window Info 来获得这个路径的编辑框的信息,假设这个窗口的标题为Setup foobar,该路径编辑框的类名是Edit1,而我们需要把它改成“D:\\foobar2000”,
接下来就可以使用下列命令/函数来设置它的文本了:
语法:
ControlSetText ( \"窗口标题\窗口文本\控件ID, \"新文本\") 具体用法如下:
【例1】
ControlSetText(\"Setup foobar\
类似可用Send命令或者ControlSend实现上面的效果,方法较为简单
2、选中和取消选中单选框和复选框项目
ControlCommand ( \"窗口标题\\"窗口文本\控件ID, \"命令\\"选项\") 其中,“命令”就是让我们指定要进行何种设置的参数。对这些单选框/复选框按钮来说,适用的命令是
“Check”和“UnCheck”。
假设这个窗口的标题是为Setup foobar,我们打算进行下来操作: 选中它的“桌面”复选框(Button5)、取消选中“快速启动栏”复选框(Button7);
选中“0.7x”单选框(Button14)。
那么具体的用法示例如下:
【例2】
ControlCommand(\"foobar\
ControlCommand(\"foobar\
ControlCommand(\"foobar\
3、选择下拉列表的项目
仍是使用上面提到的命令/函数。对这种控件而言,AU3适用的命令则是“SetCurrentSelection, N”和
“SelectString, String”,分别表示选中第N+1(注意是从零开始表示~)个项目和选中与字符串String匹
配的项目。
假设我们要选中第五个项目“简体中文”,那么具体的用法示例如下: 【例3】
ControlCommand(\"Installer\
ControlCommand(\"Installer\简体中文\")
4.if winactive(\"目录已存在\") Then
;如果窗体\"目录已存在\"是激活状态
send(\"!y\")
;发送快捷键Alt,Y
EndIf
1>EnvGet
作用:获取当前环境变量的值
语法:EnvGet ( \"环境变量\" )
范例:
$SysDrv= EnvGet(\"systemdrive\") 运行完成后,$SysDrv 将记录环境变量%SystemDrive%的值,如果系统盘为 C 盘,则$SysDrv 的值为“C:”
2>EnvSet
作用:设置环境变量和其值
语法:EnvSet ( \"环境变量\" [, \"值\"] )
范例:
EnvSet (\"TEMP \”\\Windows\\Temp”) 运行完成后,%TEMP%这个环境变量的值将被修改,如果系统盘为 C 盘,则%TEMP%
的值为“C:\\Windows\\Temp”
3>DirCopy
作用:复制指定目录及其所有子目录和文件
语法:DirCopy ( \"源目录\目标目录\" [, 标志] ) 参数:
[标志],为 0(默认)时不覆盖已有的文件夹,为 1 则覆盖
Skyfree\范例: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\
7> DirRemove
作用:删除一个目录/文件夹
语法:DirRemove ( \"路径\" [, 递归遍历] )
参数:
[递归遍历],0 则不删除其子文件和文件夹,1 则删除
范例:DirRemove(\"C:\\Skyfree\
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 ( \"目标文件\文件\" [, \"工作目录\"]) 范例:
FileCreateShortcut(\"D:\\360safe\\360Safe.exe\
安全卫士.lnk\
12>FileCopy
作用:复制一个或多个文件
语法:FileCopy ( \"源文件\目标路径\" [, 标志] ) 参数:
[标志] 0 = (默认) 不覆盖存在的文件
1 = 覆盖存在的文件
8 = 如果目标文件夹不存在,就先创建 (查看注意部分)
范例:
FileCopy(\"C:\\Skyfree.esp\
13> FileDelete
作用:删除一个或多个文件
语法:FileDelete ( \"路径\" )
范例:FileDelete(\"C:\\Skyfree\\Skyfree.esp\")
14> FileExists
作用:检查指定文件或目录是否存在
语法:FileExists ( \"路径\" )
返回值:存在则返回 1(真),不存在则返回 0(假) 范例:
If FileExists(\"C:\\Skyfree\\Skyfree.esp \") Then
MsgBox(0, \"\存在\")
Else
MsgBox(0,\"\不存在\")
EndIf
15>FileMove
作用:移动一个或多个文件
语法:FileMove ( \"源文件\目标路径\" [, 标志] ) 参数:
[标志] 0 = (默认) 不覆盖存在的文件
1 = 覆盖存在的文件
8 = 如果目标文件夹不存在,就先创建 (查看注意部分) 范例:
FileMove (\"C:\\Skyfree.esp\
16> FileSetAttrib
作用:修改一个或多个文件的属性
语法:FileSetAttrib ( \"文件\参数:
\"R\" = READONLY(只读)
\"A\" = ARCHIVE(存档)
\"S\" = SYSTEM(系统文件)
\"H\" = HIDDEN(隐藏文件)
\"N\" = NORMAL(普通)
\"O\" = OFFLINE(脱机文件)
\"T\" = TEMPORARY(临时文件)
+ 增加属性,例如+R、+S、+H
去除属性,例如R、S、H
范例:
FileSetAttrib(\"C:\\Skyfree.esp\
FileSetAttrib(\"C:\\Skyfree.esp\
17>IniRead
作用:从某标准配置文件(*.ini)中读取某个数值
语法:IniRead ( \"文件名\字段名\关键字\默认值\" ) 范例:
IniRead(\"C:\\Windows\\AllUsrRun.ini\
这行语句的意思是从 C:\\Windows\\AllUsrRun.ini 这个配置文件中寻找 PreSetup 段, 再从PreSetup 这段下寻找 Exe 关键字,随后读取 Exe 关键字对应的值,如果 Exe返回“NA”。
关键字的值为空则IniRead 是十分常用的函数,常用于读取外部配置文件以改变程序运行的方法。
18> IniWrite
作用:向某标准配置文件(*.ini)中写入某个数值
语法:IniWrite ( \"文件名\字段名\关键字\数值\" ) 范例:
Sysprep\\AutoSysprep.ini\
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=感叹号图标
=由一个“i”和圆圈组成的图标(消息通知)
返回值:
这些返回值代表着所按下的按钮,
OK(确定)=1
CANCEL(取消)=2
ABORT(终止)=3
RETRY(重试)=4
IGNORE(忽略)=5
YES(是)=6
NO(否)=7
TRY AGAIN (重试)=10
这两个值的列
范例:
CONTINUE (继续)=11
$Flag=MsgBox(4+32,\"驱动包删除\是否要删除系统驱动包备份,\") If $Flag=6 Then
DirRemove(\"C:\\Drivers\
EndIf
这个例子中,$Flag 用来记录 MsgBox 执行后的返回值,MsgBox 由于我的标志选择了 4+32,这将意味着这个 MsgBox 框中会有 Yes 和 No 两个按钮并且提示标志是一个“?”,在随后的判断中 , $Flag如果等于6 ,则代表我在MsgBox 中单击了Yes这个按钮 ,这将执行DirRemove(\"C:\\Drivers\,否则将不执行。
22> ToolTip
作用:在屏幕的任意位置显示一个工具提示
语法:ToolTip ( \"文本\" [, X 坐标 [, Y 坐标 [, \"标题\" [, 图标 [, 选项]]]]] ) 参数:
文本,工具提示的文本(如果是空字符串则清除现有的工具提示) X,Y 坐标,[可选参数] 工具提示出现位置地 X 和 Y 坐标
可选参数] 工具提示的标题, 需要 IE5+支持图标, 标题,[
可选参数] 预定义标题显示的图标: 需要 IE5+支持. 需要设置一个标题,0= 没有图标, 1 = 信息图标, 2 = 警告图标, 3 = 错误图标
选项=[可选参数] 为不同的显示类型设置不同的显示选项: 1 = 显示气泡提示, 需要 IE5+支持
2 = 在 X,Y 坐标中,居中显示提示.而不是在左上角显示.
4 = 如果有必要,强制显示工具提示总是可见,如果有多个显示器并且工具提示显示于屏幕边界, 那么在另外的显示器上面也会显示。这个选项不能工作于 Windows NT平台,否则工具提示只能在主显示器里面。
范例:
TooTip 可以很简单帮我们做出来一些提示,这些提示有些事后很有用。 ToolTip(@CR&\" \" & \" 正在安装
AMD
双核驱动 ...\" & \"
\"[email=&@CR]&@CR[/email], @DesktopWidth260,
@DesktopHeight120)
23> RunWait
作用:运行一个外部程序并暂停脚本的执行直至该程序执行完毕 语法:RunWait ( \"文件名\" [, \"工作目录\" [, 标志]] ) 参数:
文件名,可执行文件的完整路径(文件格式为 EXE、[可选参数] 工作目录。
标志,[可选参数] 启动程序时的初始状态:
@SW_HIDE = 隐藏窗口
@SW_MINIMIZE = 最小化窗口
@SW_MAXIMIZE = 最大化窗口
范例:
RunWait(\"C:\\Skyfree\\1.exe\
RunWait(\"C:\\Skyfree\\2.exe\
、COM 或 PIF) 工作目录,BAT
隐藏运行 1.exe,1.exe 运行完毕再隐藏运行 2.exe。 还有一个 Run 函数,和 RunWait 类似,只是 Run 函数只调用外部程序运行而
不等待这个外部程序的运行结束。
24>Shutdown
作用:关机操作
语法:Shutdown ( 参数 )
参数:
0 = Logoff(注销)
1 = Shutdown(关机)
2 = Reboot(重启)
4 = Force(强制执行)
8 = Power down(关机)
32= Suspend(待机)
= Hibernate(休眠)
范例:
Shutdown(Reboot)
25>RegDelete
作用:从注册表中删除指定键值
语法:RegDelete ( \"键名\" [, \"值项\"] ) 范
例:RegDelete(\"HKEY_LOCAL_MACHINE\\SOFTWARE\
26>RegRead
作用:读取注册表指定的值
语法:RegRead ( \"键名\值项\" )
范例:
$Reg =
RegRead(\"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentV
ersion
\
\"ProgramFilesDir\")
27> RegWrite
作用:创建一个主键、子键或值项
语法:RegWrite ( \"键名\" [,\"值项\类型\数据] ) 参数:
类 型 , [ 可 选 参 数 ] 目 标 值 项 的 数 据 类 型 , 比 如 :
\"REG_SZ\" 、 \"REG_MULTI_SZ\" 、
\"REG_EXPAND_SZ\"、\"REG_DWORD\" 或 \"REG_BINARY\"。 范例:
RegWrite(\"HKEY_LOCAL_MACHINE\\SOFTWARE\\Test\
\"Hello this is a
test\")
28>StringInStr
作用:检查某个字符串是否含有给定的子串
语法:StringInStr ( \"字符串\子串\" [, 区分大小写 [, 出现次序]] ) 参数:
字符串,目标字符串。
子串,要搜索的子串。
区分大小写,[可选参数] 指定匹配操作是否要区分大小写。
0 = 不区分大小写(默认)
1 = 区分大小写
2 = 不区分大小写, 使用基本/快速的比较方法
出现次序,[可选参数] 指定要提取目标字符串中第几个匹配的子串。若给定的是负数则表示要从字符串右边开始搜索。默认值为 1(搜索第一个匹配的子串)。 返回值:包含则返回 1(真),不包含则返回 0(假)
范例:
If StringInStr(\"nVIDIA Geforce 8600GTS\
$SndName=\"nVIDIA\"
EndIf
29>StringLen
作用:返回指定字符串的字符总数
语法:StringLen ( \"字符串\" )
范例:
$Length=StringLen(\"Skyfree\") 此时,$Length 的值应该为 7
30>StringMid
作用:取某个字符串的部分字符
语法:StringMid ( \"字符串\起始位置 [, 数量] )
范例:
$S=StringMid(\"Skyfree\此时,$S 的值应该为“free”
31>Sleep
作用:使脚本暂停指定时间段
语法:Sleep ( 延迟 )
范例:
Sleep(3000)
暂停脚本运行 3 秒,注意,参数里的“延迟”是以毫秒为单位的。 好了,终于把 AU3 常用的函数介绍完了,是不是看得有点晕了,这 31 个函数是所有 AU3 函数相对常用的,AU3 的函数十分的多,而且功能十分的多,如果
想要了解关于更多 AU3 函数的知识,可以参阅 AU3 帮助文档。
高级篇、 AU3 中的宏
什么是宏,不要被这个术语吓到了,宏的意思简单的来说,就是一些系统预先命名好的常量。写程序的过程中可以使用这些宏所代表的数据,但是不可对这些宏进行赋值操作。
常用的宏有如下这些——
@AppDataCommonDir,公共 Application Data 文件夹所在路径
@AppDataDir,当前用户 Application Data 文件夹所在路径
@ComSpec, %comspec% 的 值 , 指 定 的 第 二 个 命 令 解 释 程 序(SPECified secondary COMmand
interpreter),主要用于命令行使用, 如. Run(@ComSpec & \" /k help | more\")
@CR,回车符,用于换行
@LF,换行符,用于换行
@CRLF,@CR+@LF,回车换行符,用于换行
Desktop 文件夹路径(桌面) @DesktopCommonDir,公共
@DesktopDir,当前用户 Desktop 文件夹路径(桌面)
@DesktopHeight,桌面高度(像素) (垂直分辨率)
像素) (水平分辨率) @DesktopWidth,桌面宽度(
@DesktopDepth,像素颜色位深度(如 32 Bit)
@DesktopRefresh,屏幕刷新率.(如 75 HZ)
@DocumentsCommonDir,公共 Documents 文件夹路径(我的文档)
@FavoritesCommonDir,公共 Favorites 文件夹路径
@FavoritesDir,前用户的 Favorites 文件夹路径
@HomeDrive,当前用户主目录所在的驱动器号(主要用于确定系统所在分区) @MyDocumentsDir,我的文档的路径.
@OSServicePack,系统已安装的 Service pack 信息,比如\"Service Pack 3\" ,若是过低版本的Windows 则可能返回 \"B\"
@OSVersion,返回操作系统的版本,如: \"WIN_2003\
\"WIN_NT4\\"WIN_ME\\"WIN_98\\"WIN_95\" @ProgramFilesDir,返回 Program Files 文件夹路径.
@ProgramsCommonDir,「开始」菜单\\程序目录所在路径(例:C:\\Documents and Settings\\All Users\\ 「开始」菜单\\程序)公共用户
@ProgramsDir,「开始」菜单\\程序 目录所在路径(例:C:\\Documents and Settings\\All Users\\「开始」菜单\\程序) 当前用户
@ScriptDir,脚本所在目录. (不包含反斜杠符号\"\\\")
@ScriptName,当前运行的脚本的长文件名
@ScriptFullPath,等价于 @ScriptDir & \"\\\" & @ScriptName
@StartMenuCommonDir,公共用户「开始」菜单 目录所在路径(例:C:\\Documents and Settings\\AllUsers\\「开始」菜单)
@StartMenuDir,当前用户的 「开始」菜单目录所在路径
@StartupCommonDir,公共用户的 启动 目录所在路径(例:C:\\Documents and
Settings\\All Users\\ 「开始」菜单\\程序\\启动)
@StartupDir,当前用户的启动目录所在路径
@WindowsDir,Windows 文件夹所在路径(例:C:\\WINDOWS)
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务