GetFileAttributes()

Syntax

Attributes = GetFileAttributes(Filename$)
Description
Returns the attributes of the given Filename$.

On Windows, Attributes is a combination of the following values:
  #PB_FileSystem_Hidden    : File is hidden
  #PB_FileSystem_Archive   : File has been archived and not changed since the last time
  #PB_FileSystem_Compressed: File is compressed
  #PB_FileSystem_Normal    : Normal attributes
  #PB_FileSystem_ReadOnly  : File is in readonly mode
  #PB_FileSystem_System    : File is a system file
On Linux or MacOSX, Attributes is a combination of these values:
  #PB_FileSystem_Link      : The file is a symbolic link
  #PB_FileSystem_ReadUser  : Access flags for the owning user
  #PB_FileSystem_WriteUser
  #PB_FileSystem_ExecUser
  #PB_FileSystem_ReadGroup : Access flags for the owning user's group
  #PB_FileSystem_WriteGroup
  #PB_FileSystem_ExecGroup
  #PB_FileSystem_ReadAll   : Access flags for all other users
  #PB_FileSystem_WriteAll
  #PB_FileSystem_ExecAll
To check if one attribute is actually set, just use the '&' (binary AND) and the attribute constant value:
  FileAttributes = GetFileAttributes("C:\Text.txt")
  If FileAttributes & #PB_FileSystem_Hidden
    Debug "This file is hidden !"
  EndIf
If the file attributes can't be read, the command returns -1.

Example:
  Value.l = GetFileAttributes("c:\autoexec.bat") 
  
  If Value = -1 
    Debug "Error reading file attributes!"
  Else 
    If Value & #PB_FileSystem_Hidden     : txt$ + "H" : Else : txt$+"-" : EndIf 
    If Value & #PB_FileSystem_Archive    : txt$ + "A" : Else : txt$+"-" : EndIf 
    If Value & #PB_FileSystem_Compressed : txt$ + "C" : Else : txt$+"-" : EndIf 
    If Value & #PB_FileSystem_Normal     : txt$ + "N" : Else : txt$+"-" : EndIf 
    If Value & #PB_FileSystem_ReadOnly   : txt$ + "R" : Else : txt$+"-" : EndIf 
    If Value & #PB_FileSystem_System     : txt$ + "S" : Else : txt$+"-" : EndIf 
    Debug txt$ 
  EndIf

Supported OS

All

<- GetExtensionPart() - FileSystem Index - GetFileDate() ->