_FO_FolderSearch
Возвращает список папок в указанном каталоге.
#Include <FileOperations.au3>
_FO_FolderSearch ( $sPath[, $sMask = '*' [, $fInclude=True [, $iDepth=0 [, $iFull=1 [, $iArray=1 [, $sLocale=0]]]]]] )
Параметры
$sPath | Путь поиска |
$sMask |
[необязательный] Маска с использованием символов "*" и "?". В качестве разделителя используется символ "|". По умолчанию '*' - найти все папки |
$fInclude |
[необязательный] Включить или исключить указанные в маске True - (по умолчанию) найти указанные в маске False - найти все кроме указанных в маске |
$iDepth |
[необязательный] Глубина вложенности каталогов (по умолчанию 0 - корневой каталог, 125 - максимально возможный уровень) |
$iFull |
[необязательный] Пути в возвращаемых данных 0 - относительный 1 - (по умолчанию) полный путь |
$iArray |
[необязательный] Определяет вывод результата, массив или список 0 - список с разделителем @CRLF 1 - (по умолчанию) массив, в котором $array[0] = количество папок 2 - массив, в котором $array[0] содержит первую папку |
$sLocale |
[необязательный] Учитывать регистр букв при поиске. -1 - Не учитывать регистр только для латинских букв 0 - (по умолчанию) Не учитывать регистр, по умолчанию (для всех символов). 1 - Учитывать регистр (для всех символов). <символы> - Не учитывать регистр указанного диапазона символов локального языка, включая латинские, например 'А-яЁё'. Латинские указывать не требуется, они по умолчанию включены. |
Возвращаемое значение
Успех: | Возвращает список папок. |
Ошибка: | Возвращает пустую строку и устанавливает @error: |
@error: | 1 - неверный путь |
2 - неверная маска | |
3 - ничего не найдено |
Примечания
В обязательном порядке проверяйте @error, так как при отсутствии найденных каталогов использование массива приводит к ошибке, которая может быть не выявлена при тестах.См. также
_FO_CorrectMask, _FO_FileSearchПример
; AZJIO
; http://www.autoitscript.com/forum/topic/133224-filesearch-foldersearch/
#include <Array.au3> ; для _ArrayDisplay
#include <FileOperations.au3>
; Папки
;=======================================
; все папки в папке WINDOWS в виде массива
$timer = TimerInit()
$aFolderList = _FO_FolderSearch(@SystemDir, '', True, 125)
$timer = Round(TimerDiff($timer) / 1000, 2) & ' сек'
_ArrayDisplay($aFolderList, $timer & ' - все папки')
;=======================================
; все папки в папке WINDOWS в виде массива, относительные пути, уровень 1
$timer = TimerInit()
$aFolderList = _FO_FolderSearch(@SystemDir, '*', True, 1, 0)
$timer = Round(TimerDiff($timer) / 1000, 2) & ' сек'
_ArrayDisplay($aFolderList, $timer & ' - все папки')
;=======================================
; корневые папки в папке WINDOWS в виде сообщения
$timer = TimerInit()
$sFolderList = _FO_FolderSearch(@UserProfileDir, '*', True, 0, 0, 0)
$timer = Round(TimerDiff($timer) / 1000, 2) & ' сек'
MsgBox(0, $timer & ' - относительные пути', $sFolderList)
;=======================================
; Папки и файлы
;=======================================
; папки и файлы в корне каталога WINDOWS, вывод в виде сообщения
$sList = _FO_FolderSearch(@WindowsDir & '\Web', '*', True, 0, 0, 0) & @CRLF & _FO_FileSearch(@WindowsDir & '\Web', '*', True, 0, 0, 0)
MsgBox(0, 'папки и файлы', $sList)
;=======================================