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 fileOn 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_ExecAllTo 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 !" EndIfIf 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