FileFindNextFile
Возвращает следующее имя файла, определяемое дескриптором поиска.
FileFindNextFile ( search )
Параметры
search | Дескриптор поиска, возвращённый функцией FileFindFirstFile(). |
Возвращаемое значение
Успех: | Возвращает имя очередного файла / папки, @extended принимает значения: |
0 = файл | |
1 = папка | |
Ошибка: | Устанавливает @error равным 1, если больше нет файлов / папок, соответствующих поиску. |
Примечания
Механизм работы поиска следующий: созданный дескриптор поиска хранит в себе путь, маску, текущую позицию поиска. На основе этой информации FileFindNextFile() возвращает следующий файл, сохраняя в дескриптор поиска текущую позицию, от которой продолжится следующий поиск. Вы можете открыть несколько дескрипторов поиска и они не будут влиять друг на друга.См. также
FileClose, FileFindFirstFileПример
; Скрипт показывает имена всех файлов и каталогов в указанной директории.
$sPath = @HomeDrive
$hSearch = FileFindFirstFile($sPath & '\*.*') ; возвращает дескриптор поиска, определяющий путь и маску
; Проверка, является ли поиск успешным
If $hSearch = -1 Then
MsgBox(4096, "Ошибка", "Ни один из файлов или каталогов не соответствует маске поиска")
Exit
EndIf
While 1
$sFile = FileFindNextFile($hSearch) ; возвращает имя следующего файла, начиная от первого до последнего
If @error Then ExitLoop
If @extended Then
$sType = 'Каталог: '
Else
$sType = 'Файл: '
EndIf
$iAnswer = MsgBox(1, 'Следующий элемент', $sType & @TAB & $sFile & @LF & 'Путь: ' & @TAB & $sPath & '\' & $sFile)
If $iAnswer = 2 Then ExitLoop
WEnd
; Закрывает дескриптор поиска
FileClose($hSearch)