zhenglei 发表于 2010-7-24 21:12:13

如何批量扫描并写入INI多种图片格式?????

以下代码只能扫描出一种图片格式的。。例如我现在要扫描出多种图片格式如: bmp jpg png 等格式并只在一个循环中搞定
我想在一个循环中直接扫描多种格式出来应该怎么做???????????$var="c:\windows"
$search = FileFindFirstFile($var&"\*.jpg")
$i=0
; 检查搜索是否成功
If $search = -1 Then
    MsgBox(0, "错误", "没有文件/目录 匹配搜索")
    Else
While 1
    $file = FileFindNextFile($search)
    If @error Then ExitLoop
        $i+=1
        IniWrite("cfg.ini",$var,$i,$file)
    MsgBox(4096, "文件:", $file)
WEnd
;MsgBox(64,"123","OK")
; 关闭搜索句柄
EndIf
FileClose($search)cfg.ini 配置文件如下:

1=http_imgload2.jpg
2=http_imgload.jpg
3=aaa.bmp
5=8888.png

水木子 发表于 2010-7-24 23:57:04

本帖最后由 水木子 于 2010-7-24 23:58 编辑

有点乱!不知道行不行。。。试试!#include <File.au3>
#include <Array.au3>
Local $aPicture = ['.bmp', '.jpg', '.png'] ;需要搜索的图片格式
Local $iNumber
Local $sConfig = @ScriptDir & '\Config.ini'

Findfile('D:\我的文档\My Pictures') ;这里是需要搜索的目录

Func Findfile($Path)
        $aFileList = _FileListToArray($Path)
        If Not @error Then
                For $i = 1 To $aFileList
                        $sText = StringRegExp($aFileList[$i], '\.\w{3}', 3)
                        If _ArraySearch($aPicture, $sText) <> -1 Then
                                $iNumber += 1
                                IniWrite($sConfig, 'Config', $iNumber, $Path & '\' & $aFileList[$i])
                        EndIf
                Next
        EndIf
EndFunc   ;==>Findfile
页: [1]
查看完整版本: 如何批量扫描并写入INI多种图片格式?????