找回密码
 加入
搜索
查看: 5817|回复: 2

[AU3基础] [已解决]以while来遍历数组,前提是不知道数组包含多少个元素,也就是索引的总数!

[复制链接]
发表于 2013-8-12 14:03:47 | 显示全部楼层 |阅读模式
本帖最后由 kid2man 于 2013-8-12 22:26 编辑

我原本想要写一行代码,是用来批量改文件夹的.
由于是新手,实现方法比较传统,用了一个遍历的while $i 循环来实现第一步:将指定路径下的目录列出并记录到一个TXT文档当中,我是这么写的:
#Include <File.au3>
#Include <Array.au3>
Local $ipath = "D:"
Local $Folderlist = _FileListToArray($ipath,"*",2)
$ilist = _ArrayDisplay($Folderlist, "指定目录下所有文件夹列表")
Local $i=-1
While $i<255 ;不好意思,这个就是我提出该问题的缘由,我不知道有什么方法可以求到一个数组的引索一共有多少个,换句话说元素有多少个,我想一个路径下怎么也不会超过255个,但是这个想法毕竟还是很愚蠢的.所以求大神指导
        $i += 1
        $ifile=FileOpen("dirlist.txt",128)
        $Folderlistonline = $Folderlist[$i]&@CRLF
        FileWrite("dirlist.txt",$Folderlistonline)
        FileClose($ifile)
WEnd
我用SciTE编辑器运行该脚本,我的D盘下一共19个文件夹,当循环$i超过这个数目时,我发现返回了错误,
但是我查看生成的TXT发现我的方法可以实现预期的目的,但是这个错误还是萦绕在我心头,所以请大神指导!
发表于 2013-8-12 14:27:41 | 显示全部楼层
For $i = 0 to UBound($FolderList) - 1
       ... ...
Next
 楼主| 发表于 2013-8-12 14:49:42 | 显示全部楼层
回复 2# pusofalse


    谢谢指导,好棒的方法,帮助文档中对这个函数的描述,我不甚理解...

另外,我想知道,当while循环致出错时,都发生了什么事情...autoit是如何对待这种错误的?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-10 04:16 , Processed in 0.079098 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表