fileattrib

Установите или получите атрибуты файла или папки

Синтаксис

fileattrib
fileattrib filename
fileattrib filename attribs
fileattrib filename attribs users
fileattrib filename attribs users s
[status,values] = fileattrib(filename)
[status,msg,msgID] = fileattrib(filename,attribs,___)

Описание

пример

fileattrib перечисляет значения атрибута для текущей папки. Значения перечислены с помощью этой структуры:

Имя
archive
система
скрытый
directory
UserRead
UserWrite
UserExecute
GroupRead
GroupWrite
GroupExecute
OtherRead
OtherWrite
OtherExecute

Первое поле, Name, отображает имя файла или имя папки. Остающиеся поля отображают значение 0, если атрибут выключен, 1, если атрибут включен, и NaN, если атрибут не применяется.

fileattrib подобен DOS команда attrib или команда UNIX® chmod.

Примечание

В Windows®, устанавливая атрибут доступа для записи ('w') на только для чтения не обязательно предотвращает доступ для записи. Поэтому значение для UserWrite может отличаться от того, что ожидается.

пример

fileattrib filename перечисляет значения атрибута для именованного файла или папки.

пример

fileName attribs fileattrib устанавливает заданные атрибуты для именованного файла или папки.

пример

fileName attribs usersfileattrib устанавливает файл или атрибуты папки для заданного подмножества пользователей.

пример

fileName attribs usersfileattrib s устанавливает заданные атрибуты для заданных пользователей для содержимого именованной папки.

пример

[status,values] = fileattrib(filename) возвращает состояние и последнее успешно значения атрибута набора для именованного файла или папки. Если файл существует, status является 1. В противном случае status является 0.

пример

[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

Просмотрите атрибуты файла myfile.m в системе Windows. Атрибуты указывают, что заданный элемент является файлом. Вы можете считать и выполнить файл, но не можете обновить его. Файл архивируется.

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

Просмотрите атрибуты для папки /public в системе UNIX. Атрибуты указывают, что вы читали, запишите и выполните полномочия для папки. Кроме того, пользователи в вашей группе 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. Возвращенный values массива структур 1x3 указывает, что существует три соответствующих файла.

[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

Вывод Show, который заканчивается, когда попытка установить атрибуты файла успешна. Значение status 1 указывает, что операция присвоения была успешна. Поэтому никакая ошибка msg или msgID не возвращена.

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

     1

msg =

     ''

msgID =

     ''

Вывод Show, который заканчивается, когда попытка установить атрибуты файла неудачна. Значение 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

Архив (только платформа Windows Microsoft®).

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')

Выходные аргументы

свернуть все

Индикация относительно того, была ли попытка установить или получить атрибуты успешна, задана как 0 или 1. Если попытка установить или получить атрибуты была успешна, status является 1. В противном случае status является 0.

Припишите структуру, заданную как массив структур, содержащий эти поля и возможные значения:

Имя поляВозможные значения
ИмяВектор символа, содержащий имя файла или папки
archive0 (не набор), 1 (набор) или NaN (не применимый)
система0 (не набор), 1 (набор) или NaN (не применимый)
скрытый0 (не набор), 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 может отличаться от того, что ожидается.

Сообщение об ошибке, заданное как вектор символа. Если status является 0, msg содержит текст сообщения ошибки. Если status является 1, msg пуст, ''.

Идентификатор сообщения об ошибке, заданный как вектор символа. Если status является 0, msgID содержит идентификатор сообщения ошибки. Если status является 1, msgID пуст, ''.

Смотрите также

| | | | | | |

Представлено до R2006a

Была ли эта тема полезной?