FileAttributes Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona atributos para archivos y directorios.
Esta enumeración admite una combinación bit a bit de sus valores de miembro.
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
- Herencia
- Atributos
Campos
| Nombre | Valor | Description |
|---|---|---|
| ReadOnly | 1 | El archivo es de solo lectura.
|
| 2 | El archivo está oculto y, por tanto, no se incluye en una lista de directorios normal.
|
|
| System | 4 | El archivo es un archivo del sistema. Es decir, el archivo forma parte del sistema operativo o lo usa exclusivamente el sistema operativo. |
| Directory | 16 | El archivo es un directorio.
|
| Archive | 32 | Este archivo está marcado para incluirse en la operación de copia de seguridad incremental. Windows establece este atributo cada vez que se modifica el archivo y el software de copia de seguridad debe borrarlo al procesar el archivo durante la copia de seguridad incremental. |
| Device | 64 | Reservado para uso futuro. |
| Normal | 128 | El archivo es un archivo estándar que no tiene atributos especiales. Este atributo solo es válido si se usa solo.
|
| Temporary | 256 | El archivo es temporal. Un archivo temporal contiene datos necesarios mientras se ejecuta una aplicación, pero no es necesario una vez finalizada la aplicación. Los sistemas de archivos intentan mantener todos los datos en memoria para un acceso más rápido en lugar de vaciar los datos en el almacenamiento masivo. La aplicación debe eliminar un archivo temporal en cuanto ya no sea necesario. |
| SparseFile | 512 | El archivo es un archivo disperso. Los archivos dispersos suelen ser archivos grandes cuyos datos constan principalmente de ceros. |
| ReparsePoint | 1024 | El archivo contiene un punto de reanálisis, que es un bloque de datos definidos por el usuario asociados a un archivo o un directorio.
|
| Compressed | 2048 | El archivo está comprimido. |
| Offline | 4096 | El archivo está sin conexión. Los datos del archivo no están disponibles inmediatamente. |
| NotContentIndexed | 8192 | El servicio de indexación de contenido del sistema operativo no indexará el archivo. |
| Encrypted | 16384 | El archivo o directorio está cifrado. Para un archivo, esto significa que todos los datos del archivo están cifrados. Para un directorio, esto significa que el cifrado es el valor predeterminado para los archivos y directorios recién creados. |
| IntegrityStream | 32768 | El archivo o directorio incluye compatibilidad con la integridad de los datos. Cuando este valor se aplica a un archivo, todos los flujos de datos del archivo admiten la integridad. Cuando este valor se aplica a un directorio, todos los archivos y subdirectorios nuevos dentro de ese directorio, de forma predeterminada, incluyen compatibilidad con la integridad. |
| NoScrubData | 131072 | El archivo o directorio se excluye del examen de integridad de datos. Cuando este valor se aplica a un directorio, de forma predeterminada, todos los nuevos archivos y subdirectorios de ese directorio se excluyen de la integridad de los datos. |
Ejemplos
En el ejemplo siguiente se muestra cómo recuperar los atributos de un archivo y comprobar si el archivo es de solo lectura.
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
Comentarios
Puede obtener atributos para archivos y directorios llamando al File.GetAttributes método y puede establecerlos llamando al File.SetAttributes método .
No es posible cambiar el estado de compresión de un File objeto mediante el File.SetAttributes método . En su lugar, debe comprimir realmente el archivo mediante una herramienta de compresión o una de las clases del System.IO.Compression espacio de nombres.
Los atributos siguientes no son compatibles con .NET Core en Linux y macOS:
- FileAttributes.Archive
- FileAttributes.Compressed
- FileAttributes.Device
- FileAttributes.Encrypted
- FileAttributes.IntegrityStream
- FileAttributes.NoScrubData
- FileAttributes.NotContentIndexed
- FileAttributes.Offline
- FileAttributes.SparseFile
- FileAttributes.System
- FileAttributes.Temporary
En los sistemas Unix, el valor devuelto por File.GetAttributes incluye Hidden para un archivo cuyo nombre comienza por un punto ("."). En macOS, puede obtener o establecer la marca oculta.