DirectoryEntryAttributes()
Синтаксис
Attributes = DirectoryEntryAttributes(#Directory)
Описание
Возвращает атрибуты текущей записи указанного перечисления, определяемой функциями ExamineDirectory() и NextDirectoryEntry().
Параметры
#Directory Номер идентифицирующий перечисление записей каталога, которое было создано вызовом функции ExamineDirectory().
Возвращаемое значение
Возвращает атрибуты текущей записи (файла или каталога) указанного перечисления.В Linux или MacOSX атрибуты представляют собой комбинацию следующих значений:
В Windows атрибуты представляют собой комбинацию следующих значений:#PB_FileSystem_Hidden : Файл скрытый #PB_FileSystem_Archive : Файл архивировался и не был изменён с того момента #PB_FileSystem_Compressed: Файл сжатый #PB_FileSystem_Normal : Обычные атрибуты #PB_FileSystem_ReadOnly : Файл в режиме только для чтения #PB_FileSystem_System : Файл системный
#PB_FileSystem_Link : Файл является символической ссылкой #PB_FileSystem_ReadUser : разрешён доступ для чтения файла владельцу файла #PB_FileSystem_WriteUser : разрешён доступ для записи файла владельцу файла #PB_FileSystem_ExecUser : разрешён доступ для запуска файла владельцу файла #PB_FileSystem_ReadGroup : разрешён доступ для чтения файла группе владельца файла #PB_FileSystem_WriteGroup: разрешён доступ для записи файла группе владельца файла #PB_FileSystem_ExecGroup : разрешён доступ для запуска файла группе владельца файла #PB_FileSystem_ReadAll : разрешён доступ для чтения файла для всех остальных пользователей #PB_FileSystem_WriteAll : разрешён доступ для записи файла для всех остальных пользователей #PB_FileSystem_ExecAll : разрешён доступ для запуска файла для всех остальных пользователей
Комментарии
Чтобы проверить, установлен ли какой-либо атрибут, используйте операцию '&' (двоичное И) и соответствующую атрибуту константу:[...] FileAttributes = DirectoryEntryAttributes(#Directory) If FileAttributes & #PB_FileSystem_Hidden Debug "Этот файл скрыт!" EndIf
Пример (Фран.)
Repertoire$ = GetHomeDirectory() ; Создаёт перечисление всех файлов и папок домашнего каталога. If ExamineDirectory(0, Repertoire$, "*.*") While NextDirectoryEntry(0) If DirectoryEntryType(0) = #PB_DirectoryEntry_File Type$ = " [Файл] " Size$ = " (Размер : " + DirectoryEntrySize(0) + ")" Attributs = GetFileAttributes(DirectoryEntryName(0)) If Attributs & #PB_FileSystem_System Debug "Атрибут : Системный" EndIf Else Type$ = " [Каталог] " Size$ = "" ; Для каталога размер напрямую не определяется. Attributs = DirectoryEntryAttributes(0) If Attributs & #PB_FileSystem_System Debug "Атрибут : Системный" EndIf EndIf Debug Type$ + DirectoryEntryName(0) + Size$ Wend FinishDirectory(0) EndIf
См. также
ExamineDirectory(), NextDirectoryEntry(), DirectoryEntryType(), DirectoryEntryName(), DirectoryEntrySize(), DirectoryEntryDate()
Поддерживаемые OS
Все