4月192017
AU3高级目录文件遍历
#include <Array.au3>
Global $aList = _FileListEx("C:\Users\Administrator\Pictures", "*.jpg;*.jpeg;*.bmp;*.png;*.gif")
If @error Then
MsgBox(64, "提示:", "未发现图片文件!")
Exit
EndIf
_ArrayDisplay($aList)
;========================遍历目录下所有文件,包括子目录========================
;$sDir 需要遍历的文件目录
;$sFilter 文件格式过滤器,多格式以分号分割示例(*.jpg;*.png;*.bmp;*.gif)
Func _FileListEx($sDir, $sFilter = "*.*")
If Not FileExists($sDir) Then Return SetError(1, 0, "")
$sFilter = StringReplace($sFilter, "*.", "")
If StringInStr($sFilter, "*") Then $sFilter = "文件"
Local $oFSO = ObjCreate("Scripting.FileSystemObject")
Local $aDir = StringSplit($sDir, "|", 2)
Local $aFilter = StringSplit($sFilter, ";", 2)
Local $oDir, $oItem, $sType
Local $sTemp = ""
Local $d, $f, $b
Do
$oDir = $oFSO.GetFolder($aDir[$d])
For $oItem In $oDir.SubFolders
$sDir &= "|" & $oItem.Path
Next
For $oItem In $oDir.Files
;过滤
$sType = $oItem.Type
$b = False
For $f = 0 To UBound($aFilter)-1
If StringInStr($sType, $aFilter[$f]) Then
$b = True
ExitLoop
EndIf
Next
If $b Then $sTemp &= $oItem.Path & "|"
;Attributes 设置或返回文件或文件夹的属性
;DateCreated 返回指定文件或文件夹的创建时间
;DateLastAccessed 返回最近访问文件或文件夹的创建时间
;DateLastModified 返回最后修改指定文件和文件夹的日期和日期
;Drive 返回指定文件或文件夹所在的驱动器的驱动器号
;Name 设置或返回文件或文件夹的名称
;ParentFolder 返回指定文件或文件夹的父文件夹对象
;Path 返回指定文件或文件夹或驱动器的路径
;ShortName 返回短名称
;ShortPath 返回短路径
;Size 对于文件,以字节为单位返回指定文件的大小.
;对于文件夹,以字节为单位返回文件夹中包含的所有子文件夹中的所有文件和子文件夹的大小
;Type 返回文件或文件夹的信息.
Next
$d += 1
If UBound($aDir) <= $d Then $aDir = StringSplit($sDir, "|", 2)
Until UBound($aDir) <= $d
If $sTemp == "" Then
Return SetError(1, 0, "")
Else
$sTemp = StringTrimRight($sTemp, 1);去掉最右边"|"
Return StringSplit($sTemp, "|", 2)
EndIf
EndFunc ;==>_FileListEx
扫描二维码,在手机上阅读
发表评论
木有头像就木JJ啦!还木有头像吗?点这里申请属于你的个性Gravatar头像吧!