Compartilhar via


FileSystemInfo.Attributes Propriedade

Definição

Obtém ou define os atributos para o arquivo ou diretório atual.

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

Valor da propriedade

O FileAttributes do FileSystemInfo atual.

Exceções

O arquivo especificado não existe. Lançada somente ao definir o valor da propriedade.

O caminho especificado é inválido. Por exemplo, está em uma unidade não mapeada. Lançada somente ao definir o valor da propriedade.

O chamador não tem a permissão necessária.

Somente .NET Core e .NET 5+: o usuário tenta definir um valor de atributo, mas não tem permissão de gravação.

O caminho especificado, o nome de arquivo, ou ambos excedem o tamanho máximo definido pelo sistema.

O chamador tenta definir um atributo de arquivo inválido.

- ou -

Somente .NET Framework: O usuário tenta definir um valor de atributo, mas não tem uma permissão de gravação.

Refresh() não pode inicializar os dados.

Exemplos

O exemplo a seguir demonstra a Attributes propriedade . Este exemplo de código faz parte de um exemplo maior fornecido para a FileSystemInfo classe .

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

Comentários

O valor da Attributes propriedade será pré-armazenado em cache se a instância atual do FileSystemInfo objeto tiver sido retornada de qualquer um dos seguintes DirectoryInfo métodos:

O valor pode ser armazenado em cache quando o próprio valor ou outras FileSystemInfo propriedades são acessadas. Para obter o valor mais recente, chame o Refresh método .

Se o caminho não existir a partir do último estado armazenado em cache, o valor retornado será (FileAttributes)(-1). FileNotFoundException ou DirectoryNotFoundException só pode ser gerada ao definir o valor.

O valor dessa propriedade é uma combinação dos sinalizadores de atributo de arquivo morto, compactado, diretório, oculto, offline, somente leitura, sistema e arquivos temporários.

Ao definir esse valor, use o operador OR bit a bit (| em C# ou Or no Visual Basic) para aplicar mais de um valor. Para reter quaisquer valores existentes na Attributes propriedade , inclua o valor da Attributes propriedade em sua atribuição. Por exemplo:

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

Aplica-se a

Confira também