FileAttributes Enumeração

Definição

Fornece atributos para ficheiros e diretórios.

Esta enumeração suporta uma combinação bit-a-bit dos respetivos valores membro.

public enum class FileAttributes
[System.Flags]
public enum FileAttributes
[System.Flags]
[System.Serializable]
public enum FileAttributes
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum FileAttributes
[<System.Flags>]
type FileAttributes = 
[<System.Flags>]
[<System.Serializable>]
type FileAttributes = 
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileAttributes = 
Public Enum FileAttributes
Herança
FileAttributes
Atributos

Campos

Name Valor Description
ReadOnly 1

O arquivo é apenas para leitura. ReadOnly é suportado em Windows, Linux e macOS. No Linux e macOS, alterar a ReadOnly flag é uma operação de permissões.

Hidden 2

O arquivo está oculto e, portanto, não está incluído em uma listagem de diretório comum. Hidden é suportado em Windows, Linux e macOS.

System 4

O ficheiro é um ficheiro de sistema. Ou seja, o ficheiro faz parte do sistema operativo ou é usado exclusivamente pelo sistema operativo.

Directory 16

O arquivo é um diretório. Directory é suportado em Windows, Linux e macOS.

Archive 32

Este ficheiro está marcado para ser incluído na operação de backup incremental. O Windows define este atributo sempre que o ficheiro é modificado, e o software de backup deverá limpá-lo ao processar o ficheiro durante o backup incremental.

Device 64

Reservado para uso futuro.

Normal 128

O ficheiro é um ficheiro padrão que não tem atributos especiais. Este atributo só é válido se for usado isoladamente. Normal é suportado em Windows, Linux e macOS.

Temporary 256

O ficheiro é temporário. Um ficheiro temporário contém dados que são necessários enquanto uma aplicação está em execução, mas que não são necessários após a conclusão da aplicação. Os sistemas de ficheiros tentam manter todos os dados em memória para um acesso mais rápido, em vez de os devolver para armazenamento em massa. Um ficheiro temporário deve ser eliminado pela aplicação assim que deixar de ser necessário.

SparseFile 512

O arquivo é um arquivo esparso. Os ficheiros esparsos são tipicamente ficheiros grandes cujos dados consistem maioritariamente em zeros.

ReparsePoint 1024

O ficheiro contém um ponto de reanálise, que é um bloco de dados definidos pelo utilizador associados a um ficheiro ou diretório. ReparsePoint é suportado em Windows, Linux e macOS.

Compressed 2048

O ficheiro está comprimido.

Offline 4096

O ficheiro está offline. Os dados do ficheiro não estão imediatamente disponíveis.

NotContentIndexed 8192

O arquivo não será indexado pelo serviço de indexação de conteúdo do sistema operacional.

Encrypted 16384

O ficheiro ou diretório está encriptado. Para um ficheiro, isto significa que todos os dados no ficheiro estão encriptados. Para um diretório, isso significa que a criptografia é o padrão para arquivos e diretórios recém-criados.

IntegrityStream 32768

O ficheiro ou diretório inclui suporte à integridade dos dados. Quando este valor é aplicado a um ficheiro, todos os fluxos de dados no ficheiro têm suporte de integridade. Quando este valor é aplicado a um diretório, todos os novos ficheiros e subdiretórios dentro desse diretório, por defeito, incluem suporte de integridade.

NoScrubData 131072

O ficheiro ou diretório é excluído da varredura de integridade dos dados. Quando este valor é aplicado a um diretório, por defeito, todos os novos ficheiros e subdiretórios dentro desse diretório são excluídos da integridade dos dados.

Exemplos

O exemplo seguinte mostra como recuperar os atributos de um ficheiro e verificar se o ficheiro é apenas de leitura.

using System;
using System.IO;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            FileAttributes attributes = File.GetAttributes("c:/Temp/testfile.txt");
            if ((attributes & FileAttributes.ReadOnly) == FileAttributes.ReadOnly)
            {
                Console.WriteLine("read-only file");
            }
            else
            {
                Console.WriteLine("not read-only file");
            }
        }
    }
}
open System.IO

let attributes = File.GetAttributes "c:/Temp/testfile.txt"
if attributes &&& FileAttributes.ReadOnly = FileAttributes.ReadOnly then
    printfn "read-only file"
else
    printfn "not read-only file"
Imports System.IO
Imports System.Text

Module Module1
    Sub Main()
        Dim attributes = File.GetAttributes("c:/Temp/testfile.txt")
        If ((attributes And FileAttributes.ReadOnly) = FileAttributes.ReadOnly) Then
            Console.WriteLine("read-only file")
        Else
            Console.WriteLine("not read-only file")
        End If
    End Sub
End Module

Observações

Podes obter atributos para ficheiros e diretórios chamando o File.GetAttributes método, e podes defini-los chamando o File.SetAttributes método.

Não é possível alterar o estado de compressão de um File objeto usando o File.SetAttributes método. Em vez disso, tens de comprimir o ficheiro usando uma ferramenta de compressão ou uma das classes no System.IO.Compression namespace.

Os seguintes atributos não são suportados pelo .NET Core no Linux e macOS:

Nos sistemas Unix, o valor devolvido por File.GetAttributes inclui Hidden para um ficheiro cujo nome começa com um ponto ("."). No macOS, podes obter ou definir a bandeira oculta.

Aplica-se a

Ver também