FileSystemInfo.Attributes Propiedad
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í.
Obtiene o establece los atributos del archivo o directorio actual.
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 de propiedad
FileAttributes del FileSystemInfo actual.
Excepciones
El archivo especificado no existe. Solo se produce al establecer el valor de propiedad.
La ruta de acceso especificada no es válida. Por ejemplo, se encuentra en una unidad no asignada. Solo se produce al establecer el valor de propiedad.
El autor de la llamada no dispone del permiso necesario.
Solo .NET Core y .NET 5+: el usuario intenta establecer un valor de atributo, pero no tiene permiso de escritura.
La ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.
El llamador intenta establecer un atributo de archivo no válido.
O bien
Solo .NET Framework: El usuario intenta establecer un valor de atributo pero no tiene permiso de escritura.
Refresh() no puede inicializar los datos.
Ejemplos
En el ejemplo siguiente se muestra la Attributes propiedad . Este ejemplo de código es parte de un ejemplo más grande proporcionado para la clase 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
Comentarios
El valor de la Attributes propiedad se almacena previamente en caché si se devolvió la instancia actual del FileSystemInfo objeto desde cualquiera de los métodos siguientes DirectoryInfo :
El valor se puede almacenar en caché cuando se accede al propio valor u otras FileSystemInfo propiedades. Para obtener el valor más reciente, llame al Refresh método .
Si la ruta de acceso no existe a partir del último estado almacenado en caché, el valor devuelto es (FileAttributes)(-1)
. FileNotFoundException o DirectoryNotFoundException solo se puede producir al establecer el valor.
El valor de esta propiedad es una combinación de las marcas de atributos de archivo, comprimidos, directorios, ocultos, sin conexión, de solo lectura, del sistema y de archivos temporales.
Al establecer este valor, use el operador OR bit a bit (|
en C# o Or
en Visual Basic) para aplicar más de un valor. Para conservar los valores existentes en la Attributes propiedad , incluya el valor de la propiedad en la Attributes asignación. Por ejemplo:
exampleFile.Attributes = exampleFile.Attributes | FileAttributes.ReadOnly;