FileAttributes Enumeração
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
- Atributos
Campos
| Name | Valor | Description |
|---|---|---|
| ReadOnly | 1 | O arquivo é apenas para leitura.
|
| 2 | O arquivo está oculto e, portanto, não está incluído em uma listagem de diretório comum.
|
|
| 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.
|
| 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.
|
| 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.
|
| 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:
- FileAttributes.Archive
- FileAttributes.Compressed
- FileAttributes.Device
- FileAttributes.Encrypted
- FileAttributes.IntegrityStream
- FileAttributes.NoScrubData
- FileAttributes.NotContentIndexed
- FileAttributes.Offline
- FileAttributes.SparseFile
- FileAttributes.System
- FileAttributes.Temporary
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.