DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

フォルダの属性を取得、設定する

フォルダの属性を取得、設定するには、DirectoryInfoクラスのAttributesプロパティを使用します。AttributesプロパティはFileAttributes列挙型であり、その値は属性を示すメンバ値のビットの組み合わせになります。FileAttributes列挙型について詳しくは、「ファイルの属性を取得、設定する」をご覧ください。

VB.NET
コードを隠すコードを選択
'ディレクトリの属性を取得する
Dim di As New System.IO.DirectoryInfo("C:\test")

'隠し属性があるか調べる
If (di.Attributes And System.IO.FileAttributes.Hidden) = _
        System.IO.FileAttributes.Hidden Then
    Console.WriteLine("隠し属性があります。")
End If

'隠し属性を追加する
di.Attributes = di.Attributes Or System.IO.FileAttributes.Hidden

'隠し属性を削除する
di.Attributes = di.Attributes And Not System.IO.FileAttributes.Hidden
C#
コードを隠すコードを選択
//ディレクトリの属性を取得する
System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(@"C:\test");

//隠し属性があるか調べる
if ((di.Attributes & System.IO.FileAttributes.Hidden) ==
    System.IO.FileAttributes.Hidden)
{
    Console.WriteLine("隠し属性があります。");
}

//隠し属性を追加する
di.Attributes |= System.IO.FileAttributes.Hidden;

//隠し属性を削除する
di.Attributes &= ~System.IO.FileAttributes.Hidden;
補足:DirectoryInfoクラスは、フォルダ情報を返すプロパティ(Attributes、LastWriteTimeなど)から最初に値を取得したときにキャッシュを作成し、2回目以降に値を取得するときはキャッシュされた情報を返します。よってこれらのプロパティは、現在の情報ではなく、古い情報を返す可能性があります。最新の情報を取得するためにキャッシュを最新にするには、Refreshメソッドを呼び出します。なおこれらのプロパティに値を設定したときは、キャッシュが削除されます。

圧縮属性を付ける

ファイルやフォルダをNTFS圧縮する」で紹介しています。

暗号化属性を付ける

ファイルやフォルダをNTFS暗号化する」で紹介しています。

  • 履歴:
  • 2010/9/16 説明を増やした。

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • Windows Vista以降でUACが有効になっていると、ファイルへの書き込みに失敗する可能性があります。詳しくは、こちらをご覧ください。
  • .NET Tipsをご利用いただく際は、注意事項をお守りください。