绿色风's Blog
专注AutoIT(Au3)
  • 首页
  • 流●年
  • 笔●记
    • 学习随记
    • 源码示例
  • 脚●本
    • UDF(收集)
    • 工作室UDF
    • 工具●教程
    • 教程之GDI
  • 作●品
  • 下●载
  • 情怀ExcelTip
4月192017

AU3高级目录文件遍历

作者:AOPO   发布:2017-4-19 15:25 Wednesday   分类:源码示例   阅读:15810次   评论:0条  
#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






本文固定链接: http://www.jianyiit.com/post-263.html

blogger
该日志由 AOPO 于2017-4-19 15:25 Wednesday发表在 源码示例 分类下。
版权所有:《绿色风's Blog》 → 《AU3高级目录文件遍历》;
除特别标注,本博客很多文章均为原创. 互联分享,尊重版权,转载请以链接形式标明本文地址;
本文标签:

扫描二维码,在手机上阅读
上一篇::AU3网卡信息获取GetAdaptersInfo
下一篇:AU3剪切板复制图片

热门文章

相关文章

  • [汇编注入]纯AU3实现的汇编注入引擎(完全脱离DLL等外部插件)
  • AU3网卡信息获取GetAdaptersInfo
  • AU3内嵌IE版本控制
  • 根据自定义公式自动画图的强大工具
  • AU3小游戏 - 撸杆过桥
取消回复

发表评论

亲,头像对么?

36 + 88 =

提交中,请稍候……


木有头像就木JJ啦!还木有头像吗?点这里申请属于你的个性Gravatar头像吧!


    站点统计
    • 运行时间: 20254 天
    • 日志总数: 365 篇
    • 评论数量: 7238 条
    • 微语数量: 6 条
    • 附件总量: 388 件
  • 逝出的青春

  • 打赏"绿色风"



      扫码关注本站公众号 可搜本站内容

  • Autoit V3 脚本交流群

      常驻群1:905774875
      常驻群2:40672266


  • 链接

    • AU3中文论坛
    • Excel资料库
    • 完美者博客
    • 顺网小哥'S Blog
    • 猛牛哥的博客
    • 网吧系统下载
  • 分类

    • 流●年(66)
    • 笔●记(0)
    • 脚●本(0)
    • 作品(21)
    • 学习随记(51)
    • 源码示例(68)
    • UDF(收集)(26)
    • 工作室UDF(30)
    • 工具●教程(62)
    • 教程之GDI(24)
Copyright © 2013 绿色风's Blog. Powered by emlog. Theme by 射雕天龙. 鄂ICP备2021011689号-1 鄂公网安备42102302000078号 sitemap