找回密码
 加入
搜索
查看: 2695|回复: 8

[AU3基础] 搜索多个类型问题还有统计个数

  [复制链接]
发表于 2012-1-7 00:04:23 | 显示全部楼层 |阅读模式
有二个问题就是,我现在统计的是所有文件全包括了反回的总数
1、统计类型只统计jpg,png,bmp.tif 这些文件共有多少个
#Include <File.au3>

Local $hSearch = FileFindFirstFile("C:\WINDOWS\*.*") 
Local $FileList=_FileListToArray("C:\WINDOWS")


; 检查搜索是否成功
If $hSearch = -1 Then
        MsgBox(0, "错误", "没有文件/目录 匹配搜索")
        Exit
EndIf

While 1
        
        For $i = 1 to $FileList[0] 

    $3=$FileList[0]
        
          $sFile = FileFindNextFile($hSearch)
                
        
        If @error Then ExitLoop

        MsgBox(4096, "找到的文件:", $sFile& "共有"&$3  )
        
        Next
        
Exit

WEnd

; 关闭搜索句柄
FileClose($hSearch)

评分

参与人数 1金钱 -10 收起 理由
afan -10

查看全部评分

 楼主| 发表于 2012-1-7 00:07:29 | 显示全部楼层
本帖最后由 kuautoit 于 2012-1-7 00:09 编辑

第二个问题,在搜索的结果中。把第一张图片的路径,提出来


如第一张为:C:\windows\*.jpg

找到的文件 X.X 共有 200
 楼主| 发表于 2012-1-7 15:00:21 | 显示全部楼层
怎么没有人帮看看吗?
发表于 2012-1-8 02:34:26 | 显示全部楼层
方法有点凑合,之前没有用过这方面的功能,抱着学习的态度研究了一下..希望对你有帮助..

#include <File.au3>
#include <array.au3>

Local $hSearch = FileFindFirstFile("C:\WINDOWS\*.*")
Local $FileList = _FileListToArray("C:\WINDOWS")
Local $sFile = ''

; 检查搜索是否成功
If $hSearch = -1 Then
        MsgBox(0, "错误", "没有文件/目录 匹配搜索")
        Exit
EndIf

While 1
        For $i = 1 To $FileList[0]
                $3 = $FileList[0]
                $File = FileFindNextFile($hSearch)
                $sFile &= $File & @CRLF
                If @error Then ExitLoop
        Next
        $sFilecount = StringRegExp($sFile,'.+\.jpg|.+\.png|.+\.bmp|.+\.tif',3)
        _ArrayDisplay($sFilecount)
        MsgBox(4096, "找到匹配文件数", UBound($sFilecount))
        MsgBox(4096, "第一张图片名称", 'C:\WINDOWS\'&$sFilecount[0])
        Exit
WEnd

; 关闭搜索句柄
FileClose($hSearch)
发表于 2012-1-8 08:50:50 | 显示全部楼层
本帖最后由 user3000 于 2012-1-10 14:25 编辑

一个循环就够了
Local $Totle_count = 0, $jpg_count = 0, $png_count = 0, $bmp_count = 0, $tif_count = 0

Local $hSearch = FileFindFirstFile("C:\WINDOWS\*.*")
; 检查搜索是否成功
If $hSearch = -1 Then
        MsgBox(0, "错误", "没有文件/目录 匹配搜索")
        Exit
EndIf

While 1
        $File = FileFindNextFile($hSearch)
        If @error Then ExitLoop
        Switch StringRight($File, 3)
                Case 'jpg'
                        $jpg_count += 1
                        $Totle_count += 1
                Case 'png'
                        $png_count += 1
                        $Totle_count += 1
                Case 'bmp'
                        $bmp_count += 1
                        $Totle_count += 1
                Case 'tif'
                        $tif_count += 1
                        $Totle_count += 1
        EndSwitch
WEnd
FileClose($hSearch)
MsgBox(4096, "找到匹配图片文件数", '总数: ' & $Totle_count & @CRLF & _
                '其中: ' & @CRLF & 'jpg: ' & $jpg_count & @CRLF & 'png: ' & $png_count & @CRLF & _
                'bmp: ' & $bmp_count & @CRLF & 'tif: ' & $tif_count)
发表于 2012-1-10 10:45:43 | 显示全部楼层
一个循环就够了
user3000 发表于 2012-1-8 08:50



    这里,,,,,复制惹的祸啊~~~~
                Case 'tif'


                        $jpg_count += 1


                        $Totle_count += 1

评分

参与人数 1金钱 +10 收起 理由
user3000 + 10 细心人!

查看全部评分

发表于 2012-1-10 14:27:21 | 显示全部楼层
这里,,,,,复制惹的祸啊~~~~
Qokelate 发表于 2012-1-10 10:45


哈哈, 确实是。。。竟然把最后一个落下没改!
类似重复的代码, 我经常是复制, 习惯了。。。唉!
发表于 2012-1-12 13:41:18 | 显示全部楼层
思路很好~~
发表于 2012-1-12 15:19:59 | 显示全部楼层
代码很清晰哦,顶
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-1 01:27 , Processed in 0.085765 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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