autoit脚本源码_autojs写脚本

hacker|
158

文章目录:

谁能帮我写个AUTOIT3的脚本程序,可以遍历指定的文件夹及其子文件夹,然后输出里面所有图片文件的绝对路径

#include Array.au3

#Include File.au3

Local $FileNumber = 0 ;记录数组维数,全局变量

Local $FileArray[1] ;返回的文件名主数组(全路径),全局变量

Local $result = "result.txt"

FindFiles("G:\photo", "*.jpg") ;这里改为你自己要遍历的文件夹

;$FileArray[0] = $FileNumber

;_ArrayDisplay($FileArray, "Pictures");调用“Array.au3”的子函数函数,显示整个数组信息

For $i = 1 To $FileNumber

FileWriteLine($result, $FileArray[$i])

Next

Func FindFiles($path,$filelx)

Local $filelist

Local $folders

Local $i,$j,$newpath

$filelist = _FileListToArray ($path,$filelx,1)

if not @error then

if $filelist[0]0 Then

for $i=1 to $filelist[0]

$FileNumber = $FileNumber + 1

ReDim $FileArray[UBound($FileArray) + 1]

$FileArray[$FileNumber] = $path "\" $filelist[$i]

Next

EndIf

EndIf

$folders = _FileListToArray ($path,"*",2)

if Not @error Then

If $folders[0] 0 Then

For $j=1 to $folders[0]

$newpath = $path "\" $folders[$j]

FindFiles($newpath,$filelx)

Next

EndIf

EndIf

EndFunc

-----------------------------------------------------------------

结果在脚本程序目录下的result.txt文件里。

autoit3 代码的开头和结尾有这么2句话,求助是什么意思哦

我提供一点自己的经验:

1.这两句代码是正如其中的英文单词所表达的,是Koda GUI的代码片段。

Koda GUI 是 autoit 脚本语言中,辅助生成界面的工具软件。每个由 Koda GUI生成的界面脚本代码段都会由类似的字符串组成。

#Region ### START Koda GUI section ### Form=E:\myoutput\5\大胃王.kxf

这句代码,首先 #Region ### START Koda GUI section 标识出,这是Koda GUI界面代码段的开始,Form=E:\myoutput\5\大胃王.kxf 这个指出这段代码段是由哪个界面文件(*.kxf文件,是Koda GUI工具软件保存的文件类型)所生成的。

#EndRegion ### END Koda GUI section ###

这句代码,也就是标识 Koda GUI生成的界面脚本代码段的结束。

2. 然后我尝试把这2行语言删除,发现对运行结果貌似也没什么影响?

对运行结果确实没有什么影响,但这两句代码是有它自己的作用的。

如果你尝试用过 Koda GUI 工具,生成界面脚本代码,那么,你就会对此有所了解。

在界面的设计过程中,可能要经常调整、新增或删除某些界面元素,比如某个按钮等,那么,在原有基础上进行修改,肯定要比新建一个要省事的多。

通常是打开上次编写的界面设计文件,比如,E:\myoutput\5\大胃王.kxf 这个文件,打开进行修改之后,要对原来的界面代码进行更新(而不是新的插入),那么,上面两句代码的作用就体现出来了。

有了这两句代码,你新做的修改 Koda GUI 就会准确的将原来旧的内容覆盖,而不会影响你其他的autoit脚本。

autoit脚本都输入啥指令

沙发

AutoIt 可以做的事:

运行 Windows 及 DOS 下的可执行文件

模拟键击动作(支持大多数的键盘布局)

模拟鼠标移动和点击动作。

对窗口进行移动、调整大小和其它操作。

直接与窗口的“控件“交互(设置/获取 文字、移动、关闭,等等)

配合剪贴板进行剪切/粘贴文本操作

对注册表进行操作

不同于 AutoIt v2,新的v3版本含有更多的标准语法——类似于VBScript和BASIC——而且现在支持更复杂的表达式、用户函数、循环以及脚本编写老手们所期待的其它所有内容。

正如前一个版本一样,AutoIt 被设计得尽可能小(大约115KB)并且不用依赖外部DLL文件或添加注册表项目即可独立运行。使用 Aut2Exe 这个工具即可把脚本文件编译为可独立运行的文件。

此外我们还更新了 AutoIt 的 ActiveX 和 DLL 版本——AutoItX,与v2版本不同的是,这是个组件化的语言(COM 同一DLL文件中的标准DLL函数)。AutoItX 将使得您可以加入一些AutoIt 独有的特性到您最常用的脚本语言或程序设计语言中去!请查看 AutoItX 的帮助文档(开始 \ 所有程序 \ AutoIt v3 \ Extras \ AutoItX \ AutoItX Help File)以获得更多信息和示例。

v3 具有完全不同于v2.64的语法,因此不能兼容旧的脚本。不过,v2.64仍旧受到支持并且可以下载。AutoIt v3 和 v2.64可以同时装在同一台机器上而不会有任何问题,同时还可以保持旧脚本的完好。v2版本使用的是.aut后缀的扩展名,而v3版本使用的是.au3 后缀的扩展名。因此不必为了适应v3版本而重写v2.64版本的脚本。

v3 保持了前一版本中窗口标题、窗口文字、按键和鼠标模拟这些概念,但同时也有了很多新的特性:

控件

直接获取编辑框、复选框、列表框、选择框、按钮、状态栏上的信息,并且作用于这些控件而不必担心键击动作落空。甚至还可以作用于非活动窗口上的控件!

语言升级

“更适用的”数值类型、无限长度的字符串、混合语句、if 语句、条件选择语句、while 循环语句、for 循环语句、do 循环语句、函数、数组、优秀的字符串处理(超过25个函数!)——其余功能尚未列出。所有这些都使得制作自动化程序的过程不再痛苦。是的,这是个GUI自动化语言,但v3版的语法将更加强大,足以用来编写一般用途的脚本。AutoIt 的旧版本总是被认为是“不太合适的语言”,现在将不再是这样了。

模拟键击和鼠标动作

我们花了许多时间用在对键击和鼠标动作的模拟功能的优化上,使其在目前所有的操作系统上都可以做到尽可能的精确。在这一版本中鼠标动作的功能也表现得更像“人类”了,甚至可以用来创建灵活的演示脚本。所有模拟鼠标和键盘动作的程序在模拟动作的“速度”及其它功能上都是高度可定制的。

窗口操作

除了“标题/文字”这种v2版本已有的识别窗口的方法以外,现在还可以通过类别名和句柄来识别窗口。您可以对窗口进行移动、隐藏、显示、调整大小、激活、关闭以及其它所有您想要实现的操作。

--------------------------------

autoit3 自动安装脚本

是上面这句的问题:

WinWaitActive($title,"欢迎使用“Microsoft Office 2007 with Service Pack 1”安装向导")

双引号里面包含双引号,这样写是不正确的,导致一直在这里等待。

把外面的一层改为单引号应该就行,即,这句改为:

WinWaitActive($title,‘欢迎使用“Microsoft Office 2007 with Service Pack 1”安装向导’)

测试的时候可以在这句后面加个MsgBox()语句,就知道WinWaitActive()有没有执行成功了。

或者,脚本开头加一句:Opt("TrayIconDebug", 1) ,打开托盘图标调试模式,脚本运行时鼠标指向托盘图标就可以看到当前运行到哪条语句了。

000000000000000000000000000000000000000000000000000000000

可以了就好 ^_^

用autoit编写脚本

autoit是一种用以自动完成批量操作的程序语言,类似于VB或VBScript。

关于你提到的msgbox可以用到的代码是sleep()函数可以实现。其实你说的程序完全可以用vbscript代码来实现。

VBScript是一个功能强大的脚本语言,非常适合自动化处理。由于其可以联合WMI和调用Dll文件(需要下载dynwrap.dll支持),基本可以解决现实中的许多问题。

关于autoit,你可以下载一本autoit的参考书。其实autoit和vbs很相似,只是autoit生成的是exe程序而已。按现在的电脑配置来看,执行速度和vbs差不多。

3条大神的评论

  • avatar
    访客 2022-07-04 上午 03:58:52

    有模拟鼠标和键盘动作的程序在模拟动作的“速度”及其它功能上都是高度可定制的。窗口操作除了“标题/文字”这种v2版本已有的识别窗口的方法以外,现在还可以通过类别名和句柄来识别窗口。您可以对窗口进行移动、隐藏、显示、调整大小、激活、关闭以及其它所有您想要实现的操作。-----------

  • avatar
    访客 2022-07-04 下午 01:29:24

    eWriteLine($result, $FileArray[$i])NextFunc FindFiles($path,$filelx) Local $filelist Local $folders Local $i,$j,$newpath $fil

  • avatar
    访客 2022-07-04 上午 11:25:12

    oit,你可以下载一本autoit的参考书。其实autoit和vbs很相似,只是autoit生成的是exe程序而已。按现在的电脑配置来看,执行速度和vbs差不多。

发表评论