FileFindNextFile

首页  后退  前进

FileFindNextFile
down2

FileFindNextFile

返回搜索句柄指定的下一个文件名.

 

FileFindNextFile ( search [, flag = 0])

参数

search

FileFindFirstFile() 函数返回的搜索句柄

flag

[可选] 该标志确定是否返回文件属性的详细信息到 @extended 中

   0 = (默认) 用 @extended 来返回 1 或 0 来表示搜索项是否为目录.

   1 = 返回一个格式与 FileGetAttrib() 相同的字符串到 @extended 中

返回值

成功:

根据之前调用的 FileFindFirstFile() 返回文件名, @extended 根据标志设置为对应值

失败:

设置 @error 标志为 1 表示没有更多匹配的文件/目录

备注

必须先调用 FileFindFirstFile() 函数建立搜索并获得搜索句柄.

此后每次调用 FileFindNextFile() 函数都会返回匹配 FileFindFirstFile() 函数搜索字符串的下一个文件名.

当 @error = 1 时, 则已不能再找到匹配文件.

 

完成 FileFind... 搜索, 必须调用 FileClose() 函数释放搜索句柄.

 

由于使用底层 Windows API(FindFirstFile), 此函数搜索时实际上是在寻找匹配文件的长, 短文件名.

如果你得到意外的结果, 则应验证是否有不匹配的短文件名.

 

函数示例

#include <MsgBoxConstants.au3>
Example()
Func Example()
    ; Assign a Local variable the search handle of all files in the current directory.
    Local $hSearch = FileFindFirstFile("*.*")
    ; Check if the search was successful, if not display a message and return False.
    If $hSearch = -1 Then
        MsgBox($MB_SYSTEMMODAL, "", "Error: No files/directories matched the search pattern.")
        Return False
    EndIf
    ; Assign a Local variable the empty string which will contain the files names found.
    Local $sFileName = "", $iResult = 0
    While 1
        $sFileName = FileFindNextFile($hSearch)
        ; If there is no more file matching the search.
        If @error Then ExitLoop
        ; Display the file name.
        $iResult = MsgBox(BitOR($MB_SYSTEMMODAL, $MB_OKCANCEL), "", "File: " & $sFileName)
        If $iResult <> $IDOK Then ExitLoop ; If the user clicks on the cancel/close button.
    WEnd
    ; Close the search handle.
    FileClose($hSearch)
EndFunc   ;==>Example

----------------------------------------

 

该函数可以通过命令 exect 调用

参见:

FileClose, FileFindFirstFile

例子
copy

exect=$var_h=FileFindFirstFile('C:\Test\*.*')||_ViewValues('$var_h')||$var_sfile=FileFindNextFile($var_h)||_ViewValues('$var_sfile')||FileClose($var_h) ;; 在测试目录中找到第一个文件/文件夹名称的示例

up2

tcimage © Аверин Андрей для Total Commander Image Averin-And@yandex.ru