kid2man 发表于 2013-8-12 14:03:47

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

本帖最后由 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发现我的方法可以实现预期的目的,但是这个错误还是萦绕在我心头,所以请大神指导!

pusofalse 发表于 2013-8-12 14:27:41

For $i = 0 to UBound($FolderList) - 1
       ... ...
Next

kid2man 发表于 2013-8-12 14:49:42

回复 2# pusofalse


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

另外,我想知道,当while循环致出错时,都发生了什么事情...autoit是如何对待这种错误的?
页: [1]
查看完整版本: [已解决]以while来遍历数组,前提是不知道数组包含多少个元素,也就是索引的总数!