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
的值可能与预期的值不同。
示例
在 Windows 上查看当前文件夹属性
在 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 上查看文件属性
在 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
在 Windows 上查看文件夹属性
查看文件夹 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 上查看文件夹属性
在 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
在 Windows 上设置文件属性
将 myfile.m
设置为可写。
fileattrib('myfile.m','+w')
在 UNIX 上对所有用户设置文件属性
将文件夹 /home/work/results
设置为一个对 UNIX 平台上的所有用户为只读的文件夹。写入属性 w
前面的减号 (-
) 会移除写访问权限,使文件变成只读状态。
fileattrib('/home/work/results','-w','a')
在 Windows 上设置文件夹及其内容的属性
将文件夹 D:\work\results
及其所有内容设置为只读和隐藏状态。由于 users
参数的值在 Windows 系统上不适用,因此 users
指定为空字符向量 ''
。's'
参数将隐藏和写访问权限属性应用于该文件夹的内容和该文件夹本身。
fileattrib('D:\work\results','+h -w','','s')
在 Windows 上获取文件夹的属性结构体
获取文件夹 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
获取 Windows 上多个文件的属性结构体
获取当前文件夹中名称以 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
在 Windows 上成功设置文件属性和获取消息
显示在尝试设置文件属性成功时生成的输出。status
值为 1
,指示设置操作成功。因此,未返回错误的 msg
或 msgID
。
[status,msg,msgID] = fileattrib('C:\my_MATLAB_files\doc',... '+h -w','','s')
status = 1 msg = '' msgID = ''
在 Windows 上设置文件属性和获取消息未成功
显示在尝试设置文件属性未成功时生成的输出。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
— 文件或文件夹名称
字符向量 | 字符串标量
文件或文件夹名称,指定为字符向量或字符串标量。您可以指定绝对路径或相对路径。filename
可以包含通配符 (*)。
示例: fileattrib('myfile.m')
数据类型: char
| string
attribs
— 文件或文件夹属性值
字符向量 | 字符串标量
文件或文件夹属性值,指定为字符向量或字符串标量,包含由空格分隔的以下一个或多个值:
值 | 描述 |
---|---|
| 存档(仅限 Microsoft® Windows 平台)。 |
| 隐藏文件(仅限 Windows 平台)。 |
| 系统文件(仅限 Windows 平台)。 |
| 写入权限(Windows 和 UNIX 平台)。结果因平台和应用程序而异。例如,即使 |
| 可执行文件(仅限 UNIX 平台)。 |
在属性前使用加号 (+
) 限定符可设置属性,在属性前使用减号 (-
) 限定符可清除属性。
示例: fileattrib('myfile.m', '+w -h')
数据类型: char
| string
users
— 用户子集
'a'
| 'g'
| 'o'
| 'u'
| ''
用户子集(仅限 UNIX 平台上),指定为下列值之一:
UNIX 系统的值 | 描述 |
---|---|
| 所有用户 |
| 用户组 |
| 所有其他用户 |
| 当前用户 |
为 UNIX 之外的所有平台指定空值 ''
。fileattrib
获取操作不会返回该值。
示例: fileattrib('/home/work/results','-w','a')
输出参数
status
— 指示尝试设置或获取属性是否成功
0
| 1
指示尝试设置或获取属性是否成功,指定为 0
或 1
。如果尝试设置或获取属性成功,则 status
为 1
。否则,status
为 0
。
values
— 属性结构体
结构体数组
属性结构体,指定为包含以下字段和可能值的结构体数组:
字段名称 | 可能的值 |
---|---|
Name | 包含文件或文件夹名称的字符向量 |
archive | 0 (未设置)、1 (已设置)或 NaN (不适用) |
system | 0 (未设置)、1 (已设置)或 NaN (不适用) |
hidden | 0 (未设置)、1 (已设置)或 NaN (不适用) |
directory | 0 (未设置)、1 (已设置)或 NaN (不适用) |
UserRead | 0 (未设置)、1 (已设置)或 NaN (不适用) |
UserWrite | 0 (未设置)、1 (已设置)或 NaN (不适用) |
UserExecute | 0 (未设置)、1 (已设置)或 NaN (不适用) |
GroupRead | 0 (未设置)、1 (已设置)或 NaN (不适用) |
GroupWrite | 0 (未设置)、1 (已设置)或 NaN (不适用) |
GroupExecute | 0 (未设置)、1 (已设置)或 NaN (不适用) |
OtherRead | 0 (未设置)、1 (已设置)或 NaN (不适用) |
OtherWrite | 0 (未设置)、1 (已设置)或 NaN (不适用) |
OtherExecute | 0 (未设置)、1 (已设置)或 NaN (不适用) |
注意
在 Windows 系统上,将写访问属性 ('w'
) 设置为只读不一定会阻止写访问。因此,UserWrite
的值可能与预期的值不同。
msg
— 错误消息
字符向量
错误消息,指定为字符向量。如果 status
为 0
,msg
包含关于错误的消息文本。如果 status
为 1
,则 msg
为空,即 ''
。
msgID
— 错误消息标识符
字符向量
错误消息标识符,指定为字符向量。如果 status
为 0
,msgID
包含有关错误的消息 ID。如果 status
为 1
,则 msgID
为空,即 ''
。
扩展功能
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)