HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


C# 2003の開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > C# 2003 Tips > ファイル操作 Tips メニュー

07.ファイルの属性を取得する

UPDATE:2004/05/17 

<< 前のTips  次のTips >>

 


 ファイルの属性を取得するには、System.IO名前空間のFile.GetAttributesメソッドを使用します。GetAttributesメソッドの戻り値はビットフィールド表現となっています。また、引数にフォルダを指定すればフォルダの属性を取得することができます。

メンバ名
説明
Archive
ファイルのアーカイブ状態。アプリケーションは、この属性を使用してバックアップや削除の対象となるファイルをマークします。
32
Compressed
ファイルは圧縮されています。
2048
Device
今後使用するために予約されています。
64
Directory
このファイルはディレクトリです。
16
Encrypted
ファイルまたはディレクトリは暗号化されています。ファイルの場合は、ファイルのすべてのデータが暗号化されています。ディレクトリの場合は、新規作成されるファイルおよびディレクトリが既定で暗号化されます。
16384
Hidden
ファイルは隠しファイルです。したがって通常のディレクトリ リストには表示されません。
2
Normal
標準のファイルであり、他の属性セットは持ちません。この属性は単独で使用した場合だけ有効です。
128
NotContentIndexed
ファイルには、オペレーティング システムの内容インデックス付けサービスによるインデックスは付いていません。
8192
Offline
ファイルはオフラインです。オフラインのファイルのデータは、即時には使用できません。
4096
ReadOnly
ファイルは読み込み専用です。
1
ReparsePoint
ファイルには、ファイルまたはディレクトリに関連付けられたユーザー定義のデータ ブロックである、リパース ポイントが含まれています。
1024
SparseFile
スパース ファイルです。スパース ファイルは、通常、データの大部分が 0 である大きなファイルです。
512
System
システム ファイルです。このファイルはオペレーティング システムの一部です。またはオペレーティング システムが排他的に使用します。
4
Temporary 一時ファイルです。ファイル システムは、アクセス速度を上げるために、データをフラッシュして大容量ストレージに返すのではなく、すべてのデータをメモリに保持しようとします。一時ファイルが不要になったときは、すぐにアプリケーションで削除します。
256

 
サンプル
using System.IO;
:
:省略
:
private void button1_Click(object sender, System.EventArgs e)
{

    // 変数の宣言
    FileAttributes objAttr;
    string strMsg = null;

    //属性を取得
    objAttr = File.GetAttributes(@"C:\Work\Test.txt");

    //objAttrとAndでマスクして属性を取得する
    if (( objAttr & FileAttributes.Archive ) == FileAttributes.Archive )
    strMsg = "Archive\r\n";

    if (( objAttr & FileAttributes.Compressed ) == FileAttributes.Compressed )
    strMsg += "Compressed\r\n";

    if (( objAttr & FileAttributes.Directory ) == FileAttributes.Directory )
    strMsg += "Directory\r\n";

    if (( objAttr & FileAttributes.Encrypted ) == FileAttributes.Encrypted )
    strMsg += "Encrypted\r\n";

    if (( objAttr & FileAttributes.Hidden ) == FileAttributes.Hidden )
    strMsg += "Hidden\r\n";

    if (( objAttr & FileAttributes.Normal ) == FileAttributes.Normal )
    strMsg += "Normal\r\n";

    if (( objAttr & FileAttributes.Offline ) == FileAttributes.Offline )
    strMsg += "Offline\r\n";

    if (( objAttr & FileAttributes.ReadOnly ) == FileAttributes.ReadOnly )
    strMsg += "ReadOnly\r\n";

    if (( objAttr & FileAttributes.System ) == FileAttributes.System )
    strMsg += "System\r\n";

    if (( objAttr & FileAttributes.Temporary ) == FileAttributes.Temporary )
    strMsg += "Temporary\r\n";

    //属性を表示
    MessageBox.Show("このファイルは\r\n" + strMsg +
    "\r\n属性です。", "属性取得");

}