FileSystemInfo.Attributes プロパティ

定義

現在のファイルまたはディレクトリの属性を取得または設定します。

public:
 property System::IO::FileAttributes Attributes { System::IO::FileAttributes get(); void set(System::IO::FileAttributes value); };
public System.IO.FileAttributes Attributes { get; set; }
member this.Attributes : System.IO.FileAttributes with get, set
Public Property Attributes As FileAttributes

プロパティ値

FileAttributes

現在の FileAttributesFileSystemInfo

例外

指定されたファイルが存在しません。 プロパティ値を設定する場合にのみスローされます。

指定されたパスが無効です。 たとえば、マップされていないドライブ上にあります。 プロパティ値を設定する場合にのみスローされます。

呼び出し元に必要なアクセス許可がありません。

.NET Core と .NET 5 以上のみ: ユーザーは属性値の設定を試みますが、書き込みアクセス許可を持てない。

指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。

呼び出し元が、無効なファイル属性を設定しようとしました。

または

.NET Framework のみ: ユーザーが属性値を設定しようとしていますが、書き込みアクセス許可がありません。

Refresh() がデータを初期化できません。

Attributesプロパティの例を次に示します。 このコード例は、FileSystemInfo クラスのために提供されている大規模な例の一部です。

static void DisplayFileSystemInfoAttributes(FileSystemInfo^ fsi)
{
    //  Assume that this entry is a file.
    String^ entryType = "File";

    // Determine if entry is really a directory
    if ((fsi->Attributes & FileAttributes::Directory) == FileAttributes::Directory)
    {
        entryType = "Directory";
    }
    //  Show this entry's type, name, and creation date.
    Console::WriteLine("{0} entry {1} was created on {2:D}", entryType, fsi->FullName, fsi->CreationTime);
}
static void DisplayFileSystemInfoAttributes(FileSystemInfo fsi)
{
    //  Assume that this entry is a file.
    string entryType = "File";

    // Determine if entry is really a directory
    if ((fsi.Attributes & FileAttributes.Directory) == FileAttributes.Directory )
    {
        entryType = "Directory";
    }
    //  Show this entry's type, name, and creation date.
    Console.WriteLine("{0} entry {1} was created on {2:D}", entryType, fsi.FullName, fsi.CreationTime);
}
Sub DisplayFileSystemInfoAttributes(ByVal fsi As IO.FileSystemInfo)
    ' Assume that this entry is a file.
    Dim entryType As String = "File"

    ' Determine if this entry is really a directory.
    If (fsi.Attributes And FileAttributes.Directory) = FileAttributes.Directory Then
        entryType = "Directory"
    End If

    ' Show this entry's type, name, and creation date.
    Console.WriteLine("{0} entry {1} was created on {2:D}", _
        entryType, fsi.FullName, fsi.CreationTime)
End Sub

注釈

オブジェクトの現在のインスタンスが次のメソッドから返された場合、プロパティの値は事前 Attributes FileSystemInfoDirectoryInfo キャッシュされます。

値自体または他のプロパティにアクセスするときに、値を FileSystemInfo キャッシュできます。 最新の値を取得するには、 メソッドを呼び出 Refresh します。

最後にキャッシュされた状態のパスが存在しない場合、戻り値は になります (FileAttributes)(-1)FileNotFoundException または DirectoryNotFoundException は、値を設定するときにのみスローできます。

このプロパティの値は、アーカイブ、圧縮、ディレクトリ、非表示、オフライン、読み取り専用、システム、一時ファイル属性フラグの組み合わせです。

この値を設定する場合は、ビット演算子 OR 演算子 (C# では または Visual Basic) を使用して、複数の値 | Or を適用します。 プロパティ内の既存の値を保持 Attributes するには、 プロパティの値を代入 Attributes に含める必要があります。 次に例を示します。

exampleFile.Attributes = exampleFile.Attributes | FileAttributes.ReadOnly;

適用対象

こちらもご覧ください