ファイル操作

[C#] ファイルの属性を取得する(File.GetAttributes)

2022年12月17日

ファイルの属性を取得するには、File.GetAttributes()を使用します。

サンプル

例)ファイルが読み取り専用かどうか判定する


using System.IO;

// 対象ファイルパス
string path = @"C:\sample.txt";

// 属性判定
FileAttributes fa = File.GetAttributes(path);
if ((fa & FileAttributes.ReadOnly) == 0)
{
  Console.WriteLine("ファイルは読み取り専用ではありません");
}
else
{
  Console.WriteLine("ファイルは読み取り専用です");
}

ファイル属性の種類

ファイル属性値には以下のようなものがあります。

【System.IO.FileAttributes】
意味
ReadOnly 読取り専用ファイル
Hidden 隠しファイル
Normal 通常ファイル
Directory ディレクトリー(フォルダー)
Compressed 圧縮ファイル
Archive アーカイブ状態ファイル
Offline オフライン状態ファイル
System システムファイル(OSが使用するファイル)
SparseFile スパースファイル
Encrypted 暗号化状態ファイル
Temporary 一時ファイル

備考

  • File.GetAttributesの引数に実在しないパスを渡すとSystem.IO.FileNotFoundExceptionが発生します。
  • 引数に渡すパスは、ファイル存在チェックを行った後に渡すようにすると安全です。
    (参考)→ [C#] ファイルの存在チェックを行う

関連記事

-ファイル操作
-