# fileinfo

ファイルに関する情報を出力

## 呼び出し手順

    [x,ierr] = fileinfo(files)

## パラメータ

files

  文字列または文字列の列ベクトル, ファイルパス名

x

  情報を含む大きさ13の整数ベクトルまたは ファイルが存在しない場合に空の行列.

  `files`' が文字列の列ベクトルの場合, `x` は `m x 13`の大きさの行列となります.

  filename が存在しない場合, 出力情報として 13行を返し,その各行にはNaNが含まれます.

ierr

  エラーインジケータ, エラーが発生していない場合に 0

## 説明

`x= fileinfo(file)` は以下を返します

x(1)

  ファイルの大きさ

x(2)

  ファイルモード (10進値).

x(3)

  ユーザid

x(4)

  グループid

x(5)

  デバイス番号

x(6)

  直近の修正日

x(7)

  直近の変更日

x(8)

  直近のアクセス日

x(9)

  デバイス型 (inode デバイスの場合)

x(10)

  ファイルシステム I/O のブロックサイズ (Windowsでは常に0)

x(11)

  確保されたブロック数 (Windowsでは常に0)

x(12)

  The inode

x(13)

  ハードリンクの数

## 参考

この関数はCの関数statへのインターフェイスです.

許可属性は,通常,8進数で指定されます : 変換には`dec2oct(x(2))` を使用します

数値モードは,1から4個の8進数 (0-7), 4, 2, および 1でビットを加算することにより導かれます. 全ての省略された桁は先頭にゼロがあると仮定されます. 最初の桁はユーザID(4)を選択し, グループID(2)およびスティッキー(1)属性を設定します. 2番目の桁は,fileを所有するユーザの許可属性を選択します : 読み込み(4), 書き込み(2),実行(1); 3桁目はファイルのグループの同じ値を有する 他のユーザの許可属性を選択します; 4桁目はファイルグループにない同じ値を有する許可属性を 選択します.

## 例

    w = fileinfo(SCI+'/etc/scilab.start')
    // ファイル許可属性
    dec2oct(w(2))
    // file date
    getdate(w(6))

    // ファイルの書き込み許可属性を確認
    w = fileinfo(SCI+'/etc/scilab.start')

    S_IWRITE = 128; // 書き込み許可属性をマスク
    S_IEXEC = 64; // 実行許可属性をマスク
    S_IREAD = 256; // 読み込み許可属性をマスク
    S_IFCHR = 8192; // ディレクトリ許可属性をマスク

    if ( bitand( w(2), S_IWRITE ) &lt;&gt; 0) then
     disp('WRITE PERMISSION on this file.');
    else
     disp('NO WRITE PERMISSION on this file.');
    end

    FILES = [SCI;SCIHOME;'not_exist_file';TMPDIR]
    [X,ERRS] = fileinfo(FILES)

## 参照

- getdate
- file
- dispfiles
- newest
- isdir