FileFindNextFile
返回搜索句柄指定的下一个文件名.
FileFindNextFile ( search [, flag = 0])
参数
search
|
由 FileFindFirstFile() 函数返回的搜索句柄
|
flag
|
[可选] 该标志确定是否返回文件属性的详细信息到 @extended 中
0 = (默认) 用 @extended 来返回 1 或 0 来表示搜索项是否为目录.
1 = 返回一个格式与 FileGetAttrib() 相同的字符串到 @extended 中
|
返回值
备注
必须先调用 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
exect=$var_h=FileFindFirstFile('C:\Test\*.*')||_ViewValues('$var_h')||$var_sfile=FileFindNextFile($var_h)||_ViewValues('$var_sfile')||FileClose($var_h) ;; 在测试目录中找到第一个文件/文件夹名称的示例
© Аверин Андрей для Total Commander Image Averin-And@yandex.ru
|