AutoHotKey的那些事儿:(一)、AutoHotkey常用命令
AutoHotKey的那些事⼉:(⼀)、AutoHotkey常⽤命令AutoHotKey常⽤命令
命令
变量名说明
A_LoopField
存在于解析循环中,整数为什么被解析成单个字符串
A_LoopReadLine
A_Index当前循环重复的次数,第⼀次执⾏时为1
Loop Loop[,count]指定重复次数
Loop . Parse , InputVar[,Delimeters , OmitChars]
Parse:必须使⽤单词Parse
InputVarL需要被解析的变量,不要⽤百分号将变量名包起来,除⾮该变量的内容就是需要被解析的Delimeters:分隔符,参数为空或省略,则依次读取每隔字符
古代爱情故事
使⽤CSV,则按都好进⾏解析
OmitChars:忽略字符,这些字符会从解析出来的字符串的开头和结尾部分移除
Loop Loop,Read,InputFile[,OutputFile]
Read:必须是READ
InputFile:输⼊⽂件
A_LoopReadLine:存在于⽂件读取循环中,是⼀⾏内容,但是去除换⾏符
A_Tab该变量等于tab字符
StringSplit StringSplit,OutputArray,InputVar[,Delimiters , OmitChars]⽤指定的分隔符的将⼀个字符串分割为⼀个字符串数组
变量变量以字符串形式存储,只包含数字的变量进⾏数学运算时,⾃动转换为数值除了函数中变量,其他变量都是全局的,变量⽆需声明
变量名:不区分⼤⼩写
变量赋值:
⽅法1:等号运算符,指定未引⽤的原义字符串或百分号的变量的内容
数组数组0号下标中存储的是数组的长度,因此数组的元素是从1开始的
RegExMatch 确定⼀个字符串中所包含的匹配模式解析以什么开头,什么结尾
RegExMatch RegEx
失败:0
成功:⾮0
学习⽬录扫描获取⽂件名
Files and folders loop逐个遍历⽂件和⽂件夹
所谓的数组其实是前缀⼀样,后缀为连续数字的连续变量⽽已,因此称之为伪数组例如:
Array1
Array2
……
StringSplit创建的也是伪数组
A_LiipFileExt⽂件的扩展名,不包括.号
A_LoopFileName当前取得的⽂件或⽂件夹名称(不带路径)
A_LoopFileLongPath 这个的绝对路径在相对路径指定的情况下,会先使⽤相对路径作为前缀,再加上当前⽂件名,拼接成绝对路径,会有问题。需要切换进⼊⽬录
遍历⽂件Loop , FilePattern [, IncludeFolders? , Recurse?]:获取指定的⽂件或⽂件夹,⼀次⼀个FilePattern:单个⽂件或⽂件夹的名称,或⼀个通配符类型
IncludeFolders? 使⽤下⾯的数字,或留空使⽤默认
0:默认不获取⽂件夹
1:获取所有匹配通配符类型的⽂件和⽂件夹
2只获取⽂件夹
Recurese?
可在⽂件-Loop⾥特有的变量
A_LoopFileName:当前⽂件名称,⽆路径
A_LoopFileExt:⽂件的扩展名
A_LoopFileFullPath:当前⽂件的完全路径,如果FilePattern是相对路径,那么他也是相对路径A_LoopFileLongPath:⽂件绝对路径
#Include #Include FileOrDirName
File:如果未指定绝对路径,则认为在脚本⾃⼰所在的⽬录
脚本表现地翱翔被包含的⽂件内容就在#Include指令的位置出现,⾮重复包含作⽤:加载外部⽂件的函数
Return Return[, Expression]
FileAppend FileAppend[,Text , FileName]:在⽂件的结尾处追加⽂本,其实就是⽂件的写操作需要验证FileAppend所需要写⼊的⽂件是否已经创建好了才能追加内容
如果⽂件不存在,FileAppend会先创建⽂件,然后追加内容
似乎⽂件路径能⽤变量去替代,注意加上””
sPath := "E:\"
sSub := "name"
;注意变量与字符串拼接,变量不需要加双引号
sPath3 = %sPath%%sSub%.txt
Object需要查看autoHotKey是否有结构体,最好将读取配置⽂件的部分⽤结构体或者类进⾏封装⼀下
SplitPath SplitPath , InputVar [, OutFileName , OutDir , OutExtension , OutNameNoExt , OutDrive InputVar:待解析的⽂件名的变量名称
OutFileName:不带路径的⽂件名,包含扩展名
OutDir:⽂件⽬录
OutExtension:扩展名
few和afew的区别OutNameNoExt:不带路径和扩展名的⽂件名
OutDrive:驱动器+冒号
变量关于变量何时加上双引号?
函数在表达式中被调⽤,则参数列表中的变量名不要加上百分号,原义字符串加上双引号。
ByRef引⽤变量
A_LoopFileFullPath当前取得的⽂件的完全路径,但是如果FilePattern包含了⼀个相对路径,那么这⾥得到的路径也是相对的Loop , FilePattern Loop , FilePattern[,IncludeFolders? , Recurse?]
Loop , FilePattern Loop , FilePattern[,IncludeFolders? , Recurse?]
变量赋值path1 := "a.txt"
;path2 := path1
;path2 = %path1%
path2 = path1
MsgBox , %path2%
如果想将另外⼀个变量赋值给另⼀个变量:要么⽤ := 形式,不要加%%要么⽤ = 形式,加上%%
FileDelete FileDelete , FilePattern FilePattern:等那个⽂件的名称要删除⽂件夹⽤FileRemoveDir
global 函数内部引⽤或创建的变量默认是局部的,所有局部变量每次在函数被调⽤时都是以控制开始引⽤全局变量
global fileName
StringReplace StringReplace , OutputVar , InputVar , SearchText [,ReplaceText,ReplaceAll?] InputVar:需要进⾏替换的字符串变量名,不要在变量名外加百分号
ReplaceAll? 如果省略:第⼀个匹配,如果写成:1,A或All,则全部匹配
Clipboard 内置变量,存储了剪贴板中可以⽤⽂本形式表现的内容  ⽤法:⽤前先清空剪贴板
ClipboardAll存储了剪贴板中所有内讧,例如图⽚和带格式的⽂本
InStr InStr(inputStr, searchStr [,CaseSensitive = false,StartingPos = 1])返回inputStr中⾸个匹配searchStr的字符串位置
不到:返回0
StaringPos = 0,则默认从右边开始搜索
正则表达式⽤反斜线,让元字符(转义字符)失去特殊含义,在字符组内转义字符⽆效元字符⽤法:
.:任意单字符
*:任意多字符
:可选项
+:>=1次
{min,max}:⾄少min次,⾄多max次
{num}:num次
[…]:[a-z]
digit:数字0-9
\d:单个数字
^:脱字符,搜寻其实位置
$:美元符号,匹配⽬标字符串末尾
StringGetPos StringGetPos , pos , InputVar , SearchText[,L#|R#,Offset] pos:返回的⼦串在字符串中位置,从0开始
L#|R#:省略该参数,从左边开始查,为1或R时,从右边开始查Offset:偏移量,从左边或右边开始体哦啊过多少个字符再开始查
StringLeft/Right 从字符串左边或右边开始提取⼀定数量的字符StringLeft , str , inputVar , count混凝土验收规范
从⼀个字符串的左边或右边开始提取⼀定数量的字符
StrLen 获取字符串长度StrLen(String)
StrLen(String)
SubStr 与InStr搭配使⽤
SubStr(String , pos [,length])
从pos起始点开始向右复制不超过length长度的⼦串1代表⾸字符
true,false caseSensitive := true,有真假返回值
引⽤x := y两者指向同⼀个对象
对象三个功能:取值,设值,调⽤⽅法啊,这⾥的对象说⽩了就是映射map
类AutoHotKey版本:1.1.19.02
class ClassName extends BaseClassName
{
InstanceVar := Expression
static ClassVar := Expression
class NestedClass
{
}
妇女更年期Method()
{
}
}
周杰伦稻香歌词
创建对象并将其存储到全局,每个类的完整名称存储在object._Class
每次使⽤new关键字创建类的新实例时都进⾏求值
调⽤基类的⽅法⽤base.Method()
使⽤new关键字创建派⽣对象,会调⽤基对象的__New()⽅法
其实这⾥的__New()就是构造函数
销毁对象⽤:__Delete
元函数:由对戏那个的基定义的⽅法,作⽤:明确定义接受未知键的请求时如果obj.key尚未赋值,那么会调⽤__Get元函数,
obj.key := value调⽤__Set
obj.key()调⽤ __Call()
IniRead 读取标准格式的,ini⽂件中的值
IniRead , value , FileName [,Section , key , Default]
这些函数仅⽀持UTF-16编码的Unicode⽂件
value:键对应的值
FileName:.ini⽂件名
Section:ini⽂件中的段名,包含在⽅括号中的标题短语
key:键名
Default:如果省略,参数默认为ERROR(当没有到制定的键时)
格式:
[SectionName]
Key=Value
ByRef参数是引⽤参数,传递⼤字符串解决了内存对象字段在ByRef中不会被视为变量
class能否有多个构造函数,不能
while可以使⽤
人权ReadLine()Line:=File.ReadLine() FileOpen返回函数对象
MouseClickDrag MouseClickDrag , WhichButton , X1 , Y1 , X2 , Y2[,SPeed , R] WhichButton:要点击的按钮
X1,Y1:拖动其实位置x/y坐标
X2,Y2:拖动的⽬标位置
Speed:移动⿏标的速度
R:会把X1和Y1坐标视为距离当前⿏标位置的偏移
StrSplit Array := StrSPlit(String [,Delimiters , OmitChars])⽐⽤StringSplit好,将字符串切分后保存到数组中
对分割\t字符串有效,对于分割,字符串⽆效
A_Tab制表符
A_Space空格算法
+  热键发送SHIFT键击
^发送CONTOL键击{F9}{F9}表⽰F9键
s发送s键击{PrintScreen}Print Screen
Send , +{F9}发送Shift+F9
^s发送Control+s
Exit终⽌当前线程ExitApp完全终⽌持久娙的脚本
FileMove 功能:只移动⽂件
移动整个⽂件夹的内容
FileMoveDir 功能:移动⽂件夹及其所有⼦⽂件夹和⽂件,还可以重命名⽂件夹
FileMoveDir , Source , Dest[, Flag]
参数:
Source:源⽬录的名称(不含反斜线)
Dest:⽬录的新路径和名称(不含反斜线),Dest是⽬录在移动后使⽤的实际路径和名称,不是Source移动后保存的⽬录。
本质:就是把Soure下⾯所有内容放到Dest下⾯,然后把整个Soure⽬录删除
Flag:
0, 默认:不覆盖现有⽂件,如果Dest名称的⽂件已经存在,操作失败(不⽤)
1, 覆盖现有⽂件,但不删除Dest中没有被Source⽬录中⽂件覆盖的其他⼦⽬录或⽂件,如果存在相同⽂件夹,那么Soure会被已⼊这个⽂件夹中不覆盖它
2, 覆盖(就⽤这个)
R,重命名⽬录⽽不⼀定它,完全成功或完全失败就⽤它:不希望部分移动,已存在则失败
ExitApp 作⽤:⽆条件终⽌脚本
形式:ExitAPp[,ExitCode]
参数:
ExitCode:-2147483648 ~ 2147483647之间的整数,脚本退出时返回给他的调⽤者,默认为0,表⽰成功

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。