Main Content

fileattrib

设置或者获取文件或文件夹的属性

说明

示例

fileattrib 列出当前文件夹的属性值。这些值按以下结构列出:

Name
archive
system
hidden
directory
UserRead
UserWrite
UserExecute
GroupRead
GroupWrite
GroupExecute
OtherRead
OtherWrite
OtherExecute

第一个字段 Name 显示文件或文件夹名称。对于剩余的字段,如果属性为关闭,则显示值 0;如果属性为打开,将显示 1;如果属性不适用,将显示 NaN

fileattrib 类似于 DOS attrib 命令或 UNIX® chmod 命令。

注意

在 Windows® 中,将写访问权限属性 ('w') 设置为只读不一定会阻止写访问权限。因此,UserWrite 的值可能与预期的值不同。

示例

fileattrib filename 列出命名的文件或文件夹的属性值。

示例

fileattrib filename attribs 设置命名的文件或文件夹的指定属性。

示例

fileattrib filename attribs users 设置指定的用户子集的文件或文件夹属性。

示例

fileattrib filename attribs users s 设置指定用户的命名文件夹内容的指定属性。

示例

[status,values] = fileattrib(filename) 返回命名的文件或文件夹的状态和最后一个成功设置的属性值。如果该文件存在,status1。否则,status0

示例

[status,msg,msgID] = fileattrib(filename,attribs,___) 设置指定的文件属性并返回操作状态,如果设置操作失败,还返回错误消息和错误消息标识符。

示例

全部折叠

在 Windows 系统上查看当前文件夹的属性,假定当前文件夹为 C:\my_MATLAB_files。这些属性指示您对当前文件夹拥有读取、写入和执行权限。

fileattrib
            Name: 'C:\my_MATLAB_files'
         archive: 0
          system: 0
          hidden: 0
       directory: 1
        UserRead: 1
       UserWrite: 1
     UserExecute: 1
       GroupRead: NaN
      GroupWrite: NaN
    GroupExecute: NaN
       OtherRead: NaN
      OtherWrite: NaN
    OtherExecute: NaN

在 Windows 系统上查看文件 myfile.m 的属性。这些属性指示指定的项目为文件。您可以读取和执行该文件,但不能对其进行更新。该文件已存档。

fileattrib myfile.m
            Name: 'C:\my_MATLAB_files\myfile.m'
         archive: 1
          system: 0
          hidden: 0
       directory: 0
        UserRead: 1
       UserWrite: 0
     UserExecute: 1
       GroupRead: NaN
      GroupWrite: NaN
    GroupExecute: NaN
       OtherRead: NaN
      OtherWrite: NaN
    OtherExecute: NaN

查看文件夹 C:\my_MATLAB_files\doc 的属性。这些属性指示您对文件夹拥有读取、写入和执行权限。

fileattrib C:\my_MATLAB_files\doc
ans = 

            Name: 'C:\my_MATLAB_files\doc'
         archive: 0
          system: 0
          hidden: 0
       directory: 1
        UserRead: 1
       UserWrite: 1
     UserExecute: 1
       GroupRead: NaN
      GroupWrite: NaN
    GroupExecute: NaN
       OtherRead: NaN
      OtherWrite: NaN
    OtherExecute: NaN

在 UNIX 系统上查看文件夹 /public 的属性。这些属性指示您对文件夹拥有读取、写入和执行权限。此外,还指示您的 UNIX 组中的用户以及所有其他用户对文件夹拥有读取和执行权限,但没有写入权限。

fileattrib /public
ans = 

            Name: '/public'
         archive: NaN
          system: NaN
          hidden: NaN
       directory: 1
        UserRead: 1
       UserWrite: 1
     UserExecute: 1
       GroupRead: 1
      GroupWrite: 0
    GroupExecute: 1
       OtherRead: 1
      OtherWrite: 0
    OtherExecute: 1

myfile.m 设置为可写。

fileattrib('myfile.m','+w')

将文件夹 /home/work/results 设置为一个对 UNIX 平台上的所有用户为只读的文件夹。写入属性 w 前面的减号 (-) 会移除写访问权限,使文件变成只读状态。

fileattrib('/home/work/results','-w','a')

将文件夹 D:\work\results 及其所有内容设置为只读和隐藏状态。由于 users 参数的值在 Windows 系统上不适用,因此 users 指定为空字符向量 '''s' 参数将隐藏和写访问权限属性应用于该文件夹的内容和该文件夹本身。

fileattrib('D:\work\results','+h -w','','s')

获取文件夹 results 的属性并将属性作为结构体返回。status 值为 1 指示操作成功。结构体 values 包含文件夹的属性。

[status,values] = fileattrib('results')
status =
     1

values = 
            Name: 'D:\work\results'
         archive: 0
          system: 0
          hidden: 0
       directory: 1
        UserRead: 1
       UserWrite: 1
     UserExecute: 1
       GroupRead: NaN
      GroupWrite: NaN
    GroupExecute: NaN
       OtherRead: NaN
      OtherWrite: NaN
    OtherExecute: NaN

访问结构体中的名称属性值。MATLAB® 会返回 results 的路径。

values.Name
ans =
D:\work\results

获取当前文件夹中名称以 new 开头的所有文件的属性。返回的 1x3 结构体数组 values 指示有三个匹配的文件。

[status,values] = fileattrib('new*')
status =
     1

values = 
1x3 struct array with fields:
    Name
    archive
    system
    hidden
    directory
    UserRead
    UserWrite
    UserExecute
    GroupRead
    GroupWrite
    GroupExecute
    OtherRead
    OtherWrite
    OtherExecute

查看这些文件名。

values.Name
ans =
D:\work\results\newname.m

ans =
D:\work\results\newone.m

ans =
D:\work\results\newtest.m

仅查看第二个文件名。

values(2).Name
ans =
D:\work\results\newname.m

显示在尝试设置文件属性成功时生成的输出。status 值为 1,指示设置操作成功。因此,未返回错误的 msgmsgID

[status,msg,msgID] = fileattrib('C:\my_MATLAB_files\doc',...
'+h -w','','s')
status =

     1

msg =

     ''

msgID =

     ''

显示在尝试设置文件属性未成功时生成的输出。status 值为 0 指示设置操作未成功。减号错误地出现在 w 后面而不是前面。msg 描述出现的错误,msgID 包含所出现错误的消息标识符。

[status,msg,msgID] = fileattrib('C:\my_MATLAB_files\doc',...
'+h w-','','s')
status =

     0


msg =

Illegal file mode characters on the current platform.


msgID =

MATLAB:FILEATTRIB:ModeSyntaxError

输入参数

全部折叠

文件或文件夹名称,指定为字符向量或字符串标量。您可以指定绝对路径或相对路径。filename 可以包含通配符 (*)。

示例: fileattrib('myfile.m')

数据类型: char | string

文件或文件夹属性值,指定为字符向量或字符串标量,包含由空格分隔的以下一个或多个值:

描述

'a'

存档(仅限 Microsoft® Windows 平台)。

'h'

隐藏文件(仅限 Windows 平台)。

's'

系统文件(仅限 Windows 平台)。

'w'

写入权限(Windows 和 UNIX 平台)。结果因平台和应用程序而异。例如,即使 fileattrib 禁用了某文件夹的“写入”特权而使其只读,但对于某些平台或应用程序,该文件夹中的文件可能是可写的。

'x'

可执行文件(仅限 UNIX 平台)。

在属性前使用加号 (+) 限定符可设置属性,在属性前使用减号 (-) 限定符可清除属性。

示例: fileattrib('myfile.m', '+w -h')

数据类型: char | string

用户子集(仅限 UNIX 平台上),指定为下列值之一:

UNIX 系统的值

描述

'a'

所有用户

'g'

用户组

'o'

所有其他用户

'u'

当前用户

为 UNIX 之外的所有平台指定空值 ''fileattrib 获取操作不会返回该值。

示例: fileattrib('/home/work/results','-w','a')

输出参数

全部折叠

指示尝试设置或获取属性是否成功,指定为 01。如果尝试设置或获取属性成功,则 status1。否则,status0

属性结构体,指定为包含以下字段和可能值的结构体数组:

字段名称可能的值
Name包含文件或文件夹名称的字符向量
archive0(未设置)、1(已设置)或 NaN(不适用)
system0(未设置)、1(已设置)或 NaN(不适用)
hidden0(未设置)、1(已设置)或 NaN(不适用)
directory0(未设置)、1(已设置)或 NaN(不适用)
UserRead0(未设置)、1(已设置)或 NaN(不适用)
UserWrite0(未设置)、1(已设置)或 NaN(不适用)
UserExecute0(未设置)、1(已设置)或 NaN(不适用)
GroupRead0(未设置)、1(已设置)或 NaN(不适用)
GroupWrite0(未设置)、1(已设置)或 NaN(不适用)
GroupExecute0(未设置)、1(已设置)或 NaN(不适用)
OtherRead0(未设置)、1(已设置)或 NaN(不适用)
OtherWrite0(未设置)、1(已设置)或 NaN(不适用)
OtherExecute0(未设置)、1(已设置)或 NaN(不适用)

注意

在 Windows 系统上,将写访问属性 ('w') 设置为只读不一定会阻止写访问。因此,UserWrite 的值可能与预期的值不同。

错误消息,指定为字符向量。如果 status0msg 包含关于错误的消息文本。如果 status1,则 msg 为空,即 ''

错误消息标识符,指定为字符向量。如果 status0msgID 包含有关错误的消息 ID。如果 status1,则 msgID 为空,即 ''

扩展功能

基于线程的环境
使用 MATLAB® backgroundPool 在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool 加快代码运行速度。

版本历史记录

在 R2006a 之前推出

另请参阅

| | | | | | |