メインコンテンツまでスキップ

ファイル属性を取得 (file.attrs)

宣言

属性テーブル, エラー情報 = file.attrs(ディレクトリパス [, リクエストフィールド])

パラメータ

  • ディレクトリパス
    文字列型
  • リクエストフィールド
    オプションパラメータ。次の三つの形式を使用できます:
    • 省略:すべてのフィールドを含む属性テーブルを作成して返します
    • テーブル(テーブル型)を渡す:新しいテーブルを作成せず、渡されたテーブルに属性を格納します
    • 単一のフィールド名(文字列型)を渡す:そのフィールドの値を直接返します
    • "dev":ファイルの inode が存在するデバイス
    • "ino":ファイルの inode 番号
    • "mode":ファイルの種類。"file", "directory", "link", "socket", "named pipe", "char device", "block device", "other" のいずれか
    • "nlink":ハードリンク数
    • "uid":ファイル所有者の ID
    • "gid":ファイル所有グループの ID
    • "rdev":特殊ファイルの inode のデバイス種別
    • "access":ファイルに最後にアクセスした時刻
    • "modification":ファイルを最後に更新した時刻
    • "change":ファイルの状態を最後に変更した時刻
    • "size":ファイルサイズ(バイト単位)
    • "permissions":ファイルのアクセス権限
    • "blksize":ファイルシステム I/O のブロックサイズ
    • "blocks":ファイルに割り当てられた 512 バイトブロックの数

戻り値

  • 属性テーブル
    テーブル型。操作に成功した場合は属性テーブル、失敗した場合は nil を返します
  • エラー情報
    文字列型。操作に失敗した場合のエラー情報

説明

ファイル属性を取得します。対象がシンボリックリンクの場合は、リンク先のファイルの属性を返します。lfs.attributes と同等です
この関数は 20250705 以降のバージョンで使用できます

local info, err = file.attrs("/var/mobile/Media/1ferver/lua/scripts/")
if info then
sys.alert("文件信息:"..json.encode(info))
else
sys.alert("获取文件属性失败:"..err)
end

注記:上記のコードでは、この章で扱っていない関数 sys.alert を使用しています