FreeMat
|
Section: Operating System Functions
Retrieves information about a file or directory. The first version uses the syntax
y = fileattrib(filename)
where filename
is the name of a file or directory. The returned structure contains several entries, corresponding to the attributes of the file. Here is a list of the entries, and their meaning:
Name
- the full pathname for the file archive
- not used, set to 0
system
- not used, set to 0
hidden
- set to 1
for a hidden file, and 0
else. directory
- set to 1
for a directory, and 0
for a file. UserRead
- set to 1
if the user has read permission, 0
otherwise. UserWrite
- set to 1
if the user has write permission, 0
otherwise. UserExecute
- set to 1
if the user has execute permission, 0
otherwise. GroupRead
- set to 1
if the group has read permission, 0
otherwise. GroupWrite
- set to 1
if the group has write permission, 0
otherwise. GroupExecute
- set to 1
if the group has execute permission, 0
otherwise. OtherRead
- set to 1
if the world has read permission, 0
otherwise. OtherWrite
- set to 1
if the world has write permission, 0
otherwise. OtherExecute
- set to 1
if the world has execute permission, 0
otherwise. You can also provide a wildcard filename to get the attributes for a set of files e.g.,
y = fileattrib('foo*')
You can also use fileattrib
to change the attributes of a file and/or directories. To change attributes, use one of the following syntaxes
y = fileattrib(filename,attributelist) y = fileattrib(filename,attributelist,userlist) y = fileattrib(filename,attributelist,userlist,'s')
where attributelist
is a string that consists of a list of attributes, each preceeded by a +
to enable the attribute, and -
to disable the attribute. The valid list of attributes that can be changed are
'w'
- change write permissions 'r'
- change read permissions 'x'
- change execute permissions for example, '-w +r'
would indicate removal of write permissions and addition of read permissions. The userlist
is a string that lists the realm of the permission changes. If it is not specified, it defaults to 'u'
.
'u'
- user or owner permissions 'g'
- group permissions 'o'
- other permissions ("world" in normal Unix terminology) 'a'
- equivalent to 'ugo'. Finally, if you specify a 's'
for the last argument, the attribute change is applied recursively, so that setting the attributes for a directory will apply to all the entries within the directory.