2023年7月9日发(作者:)
autoit常用命令
自动安装脚本几个常用命令简介
1、Run(“文件名”)——运行与脚本同一目录下的指定文件
2、WinWaitActive(“窗体标题”, “窗体文本”)——等待指定窗体出现 3、Send(“”)——发送模拟按键。Alt,n用!n表示send("!n");发送快捷键Alt,N
send("{SPACE}{TAB}{SPACE}{TAB}") ;默认状态下“查看 ”获得2个选项的分别焦点,发送空格将勾去掉。
;用TAB切换到下一个复选框
4、WinActive(“窗体标题”,”窗体文本”)——判断指定窗体是否激活 5、ButtonNN 后面的NN表示控件名编号
ControlClick ( "窗口标题", "按钮文本描述", "ButtonNN") 相当于用鼠标点击一下,此窗口中的ButtonNN按钮。
ControlCommand ( "窗口标题", "按钮文本描述", "ButtonNN", "UnCheck",
"" )
此句作用是不选择此复选框。
ControlCommand ( "窗口标题", "支按钮文本描述", "ButtonNN", "Check",
"" )
此句作用是选择此复选框,即打上勾。
ControlCommand("窗口标题","", "ComboBoxNN","SelectString", '下拉框或列表框内容')
等等。更多内容可以参看说明文件。
1、设置文本,修改路径 先用上文中提到的AutoIt3 Window Spy 或 AutoIt Window Info 来获得这个路径的编辑框的信息,假设这个窗口的标题为Setup foobar,该路径编辑框的类名是Edit1,而我们需要把它改成“D:foobar2000”,
接下来就可以使用下列命令/函数来设置它的文本了:
语法:
ControlSetText ( "窗口标题", "窗口文本", 控件ID, "新文本") 具体用法如下:
【例1】
ControlSetText("Setup foobar", "", "Edit1", "D:foobar2000")
类似可用Send命令或者ControlSend实现上面的效果,方法较为简单
2、选中和取消选中单选框和复选框项目
ControlCommand ( "窗口标题", "窗口文本", 控件ID, "命令", "选项") 其中,“命令”就是让我们指定要进行何种设置的参数。对这些单选框/复选框按钮来说,适用的命令是
“Check”和“UnCheck”。
假设这个窗口的标题是为Setup foobar,我们打算进行下来操作: 选中它的“桌面”复选框(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", "简体中文")
winactive("目录已存在") Then
;如果窗体"目录已存在"是激活状态
send("!y")
;发送快捷键Alt,Y
EndIf
1>EnvGet
作用:获取当前环境变量的值
语法:EnvGet ( "环境变量" )
范例:
$SysDrv= EnvGet("systemdrive") 运行完成后,$SysDrv 将记录环境变量%SystemDrive%的值,如果系统盘为 C 盘,则$SysDrv 的值为“C:”
2>EnvSet
作用:设置环境变量和其值 语法:EnvSet ( "环境变量" [, "值"] )
范例:
EnvSet ("TEMP ", EnvGet("systemdrive") & ”WindowsTemp”) 运行完成后,%TEMP%这个环境变量的值将被修改,如果系统盘为 C 盘,则%TEMP%
的值为“C:WindowsTemp”
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:",@DesktopCommonDir &
"360
安全卫士.lnk","D:360safe")
12>FileCopy
作用:复制一个或多个文件
语法:FileCopy ( "源文件", "目标路径" [, 标志] ) 参数:
[标志] 0 = (默认) 不覆盖存在的文件
1 = 覆盖存在的文件
8 = 如果目标文件夹不存在,就先创建 (查看注意部分)
范例: FileCopy("C:","D:",1)
13> FileDelete
作用:删除一个或多个文件
语法:FileDelete ( "路径" )
范例:FileDelete("C:")
14> FileExists
作用:检查指定文件或目录是否存在
语法:FileExists ( "路径" )
返回值:存在则返回 1(真),不存在则返回 0(假) 范例:
If FileExists("C: ") Then
MsgBox(0, "", "存在")
Else
MsgBox(0,"", "不存在")
EndIf
15>FileMove
作用:移动一个或多个文件
语法:FileMove ( "源文件", "目标路径" [, 标志] ) 参数:
[标志] 0 = (默认) 不覆盖存在的文件
1 = 覆盖存在的文件
8 = 如果目标文件夹不存在,就先创建 (查看注意部分) 范例:
FileMove ("C:","D:",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:","+RSH")
FileSetAttrib("C:","RSH")
17>IniRead
作用:从某标准配置文件(*.ini)中读取某个数值
语法:IniRead ( "文件名", "字段名", "关键字", "默认值" ) 范例:
IniRead("C:","PreSetup","Exe","NA")
这行语句的意思是从 C: 这个配置文件中寻找
PreSetup 段, 再从PreSetup 这段下寻找 Exe 关键字,随后读取 Exe 关键字对应的值,如果 Exe返回“NA”。
关键字的值为空则IniRead 是十分常用的函数,常用于读取外部配置文件以改变程序运行的方法。
18> IniWrite
作用:向某标准配置文件(*.ini)中写入某个数值
语法:IniWrite ( "文件名", "字段名", "关键字", "数值" ) 范例: ","SK3","UnDev","True") IniWrite("C:
IniWrite和IniRead 是对应的,IniWrite 用来写配置文件 ,上面语句的意思是 寻找c: 这个配置文件,并寻找 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
TRY AGAIN (重试)=10
这两个值的列
范例:
CONTINUE (继续)=11 $Flag=MsgBox(4+32,"驱动包删除","是否要删除系统驱动包备份,") If
$Flag=6 Then
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 = 如果有必要,强制显示工具提示总是可见,如果有多个显示器并且工具提示显示于屏幕边界, 那么在另外的显示器上面也会显示。这个选项不能工作于
Windows NT平台,否则工具提示只能限制在主显示器里面。 范例:
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:","",@SW_HIDE)
RunWait("C:","",@SW_HIDE)
隐藏运行 , 运行完毕再隐藏运行 。 还有一个 Run 函数,和 RunWait 类似,只是 Run 函数只调用外部程序运行而
不等待这个外部程序的运行结束。
24>Shutdown
作用:关机操作
语法:Shutdown ( 参数 )
参数: 0 = Logoff(注销)
1 = Shutdown(关机)
2 = Reboot(重启)
4 = Force(强制执行)
8 = Power down(关机)
32= Suspend(待机)
64= Hibernate(休眠)
范例:
Shutdown(Reboot)
25>RegDelete
作用:从注册表中删除指定键值
语法:RegDelete ( "键名" [, "值项"] ) 范例:RegDelete("HKEY_LOCAL_MACHINESOFTWARE", "TestKey")
26>RegRead
作用:读取注册表指定的值
语法:RegRead ( "键名", "值项" )
范例:
$Reg =
RegRead("HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion
",
"ProgramFilesDir")
27> RegWrite
作用:创建一个主键、子键或值项 语法:RegWrite ( "键名" [,"值项", "类型", 数据] ) 参数:
类 型 , [ 可 选 参 数 ] 目 标 值 项 的 数 据 类 型 , 比 如 :
"REG_SZ" 、 "REG_MULTI_SZ" 、
"REG_EXPAND_SZ"、"REG_DWORD" 或 "REG_BINARY"。 范例:
RegWrite("HKEY_LOCAL_MACHINESOFTWARETest", "TestKey", "REG_SZ",
"Hello this is a
test")
28>StringInStr
作用:检查某个字符串是否含有给定的子串
语法:StringInStr ( "字符串", "子串" [, 区分大小写 [, 出现次序]] ) 参数:
字符串,目标字符串。
子串,要搜索的子串。
区分大小写,[可选参数] 指定匹配操作是否要区分大小写。
0 = 不区分大小写(默认)
1 = 区分大小写
2 = 不区分大小写, 使用基本/快速的比较方法
出现次序,[可选参数] 指定要提取目标字符串中第几个匹配的子串。若给定的是负数则表示要从字符串右边开始搜索。默认值为 1(搜索第一个匹配的子串)。
返回值:包含则返回 1(真),不包含则返回 0(假)
范例:
If StringInStr("nVIDIA Geforce 8600GTS","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,公共 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_XP", "WIN_2000", "WIN_NT4", "WIN_ME", "WIN_98", "WIN_95" @ProgramFilesDir,返回
Program Files 文件夹路径.
@ProgramsCommonDir,「开始」菜单程序目录所在路径(例:C:Documents
and SettingsAll Users 「开始」菜单程序)公共用户
@ProgramsDir,「开始」菜单程序 目录所在路径(例:C:Documents and
SettingsAll Users「开始」菜单程序) 当前用户
@ScriptDir,脚本所在目录. (不包含反斜杠符号"")
@ScriptName,当前运行的脚本的长文件名
@ScriptFullPath,等价于 @ScriptDir & "" & @ScriptName
@StartMenuCommonDir,公共用户「开始」菜单 目录所在路径(例:C:Documents
and SettingsAllUsers「开始」菜单)
@StartMenuDir,当前用户的 「开始」菜单目录所在路径
@StartupCommonDir,公共用户的 启动 目录所在路径(例:C:Documents and
SettingsAll Users 「开始」菜单程序启动)
@StartupDir,当前用户的启动目录所在路径
@WindowsDir,Windows 文件夹所在路径(例:C:WINDOWS)
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1688898395a181951.html
评论列表(0条)