kuautoit 发表于 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

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

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

WEnd

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

kuautoit 发表于 2012-1-7 00:07:29

本帖最后由 kuautoit 于 2012-1-7 00:09 编辑

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


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

找到的文件 X.X 共有 200

kuautoit 发表于 2012-1-7 15:00:21

怎么没有人帮看看吗?

bdancerlc 发表于 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
                $3 = $FileList
                $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)
        Exit
WEnd

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

user3000 发表于 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)

Qokelate 发表于 2012-1-10 10:45:43

一个循环就够了
user3000 发表于 2012-1-8 08:50 http://www.autoitx.com/images/common/back.gif


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


                        $jpg_count += 1


                        $Totle_count += 1

user3000 发表于 2012-1-10 14:27:21

这里,,,,,复制惹的祸啊~~~~
Qokelate 发表于 2012-1-10 10:45 http://www.autoitx.com/images/common/back.gif

哈哈, 确实是。。。竟然把最后一个落下没改!
类似重复的代码, 我经常是复制, 习惯了。。。唉!

showshow 发表于 2012-1-12 13:41:18

思路很好~~

leon460 发表于 2012-1-12 15:19:59

代码很清晰哦,顶
页: [1]
查看完整版本: 搜索多个类型问题还有统计个数