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,___) は、指定されたファイル属性を設定し、操作のステータスを返します。設定操作が失敗した場合は、エラー メッセージとエラー メッセージ識別子も返します。

すべて折りたたむ

現在のフォルダーが C:\my_MATLAB_files であると仮定して、Windows システムで現在のフォルダーの属性を表示します。属性は、現在のフォルダーに読み取り権限、書き込み権限、および実行権限があることを示します。

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 は、一致するファイルが 3 つあることを示します。

[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

2 番目のファイル名を表示します。

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

ファイル属性の設定が成功したときの結果の出力を表示します。status1 は設定操作が成功したことを示します。そのため、エラーの msgmsgID はいずれも返されません。

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

     1

msg =

     ''

msgID =

     ''

ファイル属性の設定が不成功だったときの結果の出力を表示します。status0 は設定操作が失敗したことを示します。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

入力引数

すべて折りたたむ

ファイル名またはフォルダー名。文字ベクトルまたは string スカラーとして指定します。絶対パスまたは相対パスを指定できます。filename にはワイルドカード (*) を含めることができます。

例: fileattrib('myfile.m')

データ型: char | string

ファイルまたはフォルダーの属性値。スペースで区切られた、次の 1 つ以上の値で構成される文字ベクトルまたは 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 の get 操作によって返されません。

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

出力引数

すべて折りたたむ

属性の設定または取得の試行が成功したかどうかの指標。0 または 1 として指定されます。属性の設定または取得の試行が成功した場合、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 の値は期待された値と異なる場合があります。

エラー メッセージ。文字ベクトルとして指定します。status0 の場合、msg にはエラーのメッセージ テキストが含まれます。status1 の場合、msg は空 ('') です。

エラー メッセージ識別子。文字ベクトルとして指定されます。status0 の場合、msgID にはエラーのメッセージ ID が含まれます。status1 の場合、msgID は空 ('') です。

拡張機能

スレッドベースの環境
MATLAB® の backgroundPool を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool を使用してコードを高速化します。

バージョン履歴

R2006a より前に導入

参考

| | | | | | |