HIRO's.NET

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

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

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

HIRO's.NET RSSHIRO's.NET RSS


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

HOME > VB.NET 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

 
サンプル
Imports System.IO
:
:省略
:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    '変数の宣言
    Dim objAttr As System.IO.FileAttributes
    Dim strMsg As String

    '属性を取得
    objAttr = System.IO.File.GetAttributes("C:\Work\Test.txt")

    'objAttrとAndでマスクして属性を取得する
    If objAttr And IO.FileAttributes.Archive Then
        strMsg = "Archive" & ControlChars.NewLine
    End If

    If objAttr And IO.FileAttributes.Compressed Then
        strMsg &= "Compressed" & ControlChars.NewLine
    End If

    If objAttr And IO.FileAttributes.Directory Then
        strMsg &= "Directory" & ControlChars.NewLine
    End If

    If objAttr And IO.FileAttributes.Encrypted Then
        strMsg &= "Encrypted" & ControlChars.NewLine
    End If

    If objAttr And IO.FileAttributes.Hidden Then
        strMsg &= "Hidden" & ControlChars.NewLine
    End If

    If objAttr And IO.FileAttributes.Normal Then
        strMsg &= "Normal" & ControlChars.NewLine
    End If

    If objAttr And IO.FileAttributes.Offline Then
        strMsg &= "Offline" & ControlChars.NewLine
    End If

    If objAttr And IO.FileAttributes.ReadOnly Then
        strMsg &= "ReadOnly" & ControlChars.NewLine
    End If

    If objAttr And IO.FileAttributes.System Then
        strMsg &= "System" & ControlChars.NewLine
    End If

    If objAttr And IO.FileAttributes.Temporary Then
        strMsg &= "Temporary" & ControlChars.NewLine
    End If

    '属性を表示
    MessageBox.Show("このファイルは" & ControlChars.NewLine & strMsg & _
        ControlChars.NewLine & "属性です。", "属性取得")

End Sub