PureBasic

DirectoryEntryAttributes()

Синтаксис

Attributes = DirectoryEntryAttributes(#Directory)

Описание


Возвращает атрибуты текущей записи указанного перечисления, определяемой функциями ExamineDirectory() и NextDirectoryEntry().

Параметры

#Directory Номер идентифицирующий перечисление записей каталога, которое было создано вызовом функции ExamineDirectory().

Возвращаемое значение

Возвращает атрибуты текущей записи (файла или каталога) указанного перечисления.

В Windows атрибуты представляют собой комбинацию следующих значений:
  #PB_FileSystem_Hidden    : Файл скрытый
  #PB_FileSystem_Archive   : Файл архивировался и не был изменён с того момента
  #PB_FileSystem_Compressed: Файл сжатый
  #PB_FileSystem_Normal    : Обычные атрибуты
  #PB_FileSystem_ReadOnly  : Файл в режиме только для чтения
  #PB_FileSystem_System    : Файл системный
В Linux или MacOSX атрибуты представляют собой комбинацию следующих значений:
  #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

Все

<- DeleteFile() - Оглавление FileSystem - DirectoryEntryDate()->