VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。
基本的な使用方法から開発で役立つ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属性です。", "属性取得"); }