Что нового

Странное поведение _FileListToArrayRec

winkot

Новичок
Сообщения
190
Репутация
0
Надо получить массив с именами папок. Но почему то
Код:
$Path1 = 'C:\Temp\1'
$Files1 = _FileListToArrayRec($Path1, '*.*', $FLTAR_FOLDERS + $FLTAR_NOHIDDEN + $FLTAR_NOSYSTEM, $FLTAR_RECUR, $FLTAR_NOSORT, $FLTAR_RELPATH)

массив не выдает. А получить массив с именами папок можно только так:
Код:
$Files1 = _FileListToArrayRec($Path1, '', $FLTAR_FILESFOLDERS + $FLTAR_NOHIDDEN + $FLTAR_NOSYSTEM, $FLTAR_RECUR, $FLTAR_NOSORT, $FLTAR_RELPATH)

Но это не соответствует справки! Почему так происходит?
 

InnI

AutoIT Гуру
Сообщения
4,950
Репутация
1,445

Oki

Продвинутый
Сообщения
452
Репутация
63
Потому что маска '*.*' подразумевает наличие точки. Например, 'name.dir'.
Да? А вот такой скрипт при переключении на "All (*.*)" показывает и файлы без расширения в том числе.
Код:
FileOpenDialog("", @ScriptDir, "Text files (*.txt)|All (*.*)")
Видимо, некоторые функции написаны с учётом существования файлов без расширения, но не все функции. А вообще-то, весьма давно стандартным считается, что маска "*.*" должна и файлы без расширения охватывать.
Сообщение автоматически объединено:

Впрочем, в справке к данной функции конкретно указано, что все файлы находятся маской "*". Наверное, в этом случае так было удобнее запрограммировать любое регулярное выражение в качестве маски.
 
Последнее редактирование:
Верх