File.SetAttributes(String, FileAttributes) Método

Definición

Establece el FileAttributes especificado del archivo en la ruta de acceso especificada.Sets the specified FileAttributes of the file on the specified path.

public:
 static void SetAttributes(System::String ^ path, System::IO::FileAttributes fileAttributes);
public static void SetAttributes (string path, System.IO.FileAttributes fileAttributes);
static member SetAttributes : string * System.IO.FileAttributes -> unit

Parámetros

path
String

La ruta de acceso al archivo.The path to the file.

fileAttributes
FileAttributes

Combinación bit a bit de los valores de la enumeración.A bitwise combination of the enumeration values.

Excepciones

path está vacío, contiene solamente espacios en blanco, contiene caracteres no válidos o el atributo de archivo no es válido.path is empty, contains only white spaces, contains invalid characters, or the file attribute is invalid.

La ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.The specified path, file name, or both exceed the system-defined maximum length.

path tiene un formato no válido.path is in an invalid format.

La ruta de acceso especificada no es válida (por ejemplo, se encuentra en una unidad de red no asignada).The specified path is invalid, (for example, it is on an unmapped drive).

No se puede encontrar el archivo.The file cannot be found.

path especificó un archivo que es de solo lectura.path specified a file that is read-only.

O bien,-or- Esta operación no es compatible con la plataforma actual.This operation is not supported on the current platform.

O bien,-or- path especifica un directorio.path specified a directory.

O bien,-or- El llamador no dispone del permiso requerido.The caller does not have the required permission.

Ejemplos

En el ejemplo siguiente se muestran los métodos GetAttributes y SetAttributes aplicando los atributos Archive y Hidden a un archivo.The following example demonstrates the GetAttributes and SetAttributes methods by applying the Archive and Hidden attributes to a file.

using namespace System;
using namespace System::IO;
using namespace System::Text;
int main()
{
   String^ path = "c:\\temp\\MyTest.txt";
   
   // Create the file if it does not exist.
   if (  !File::Exists( path ) )
   {
      File::Create( path );
   }

   if ( (File::GetAttributes( path ) & FileAttributes::Hidden) == FileAttributes::Hidden )
   {
      
      // Show the file.
      File::SetAttributes(path, File::GetAttributes( path ) & ~FileAttributes::Hidden);
      Console::WriteLine( "The {0} file is no longer hidden.", path );
   }
   else
   {
      
      // Hide the file.
      File::SetAttributes( path, static_cast<FileAttributes>(File::GetAttributes( path ) | FileAttributes::Hidden) );
      Console::WriteLine( "The {0} file is now hidden.", path );
   }
}

using System;
using System.IO;
using System.Text;

class Test 
{
    public static void Main() 
    {
        string path = @"c:\temp\MyTest.txt";

        // Create the file if it does not exist.
        if (!File.Exists(path)) 
        {
            File.Create(path);
        }

        FileAttributes attributes = File.GetAttributes(path);

        if ((attributes & FileAttributes.Hidden) == FileAttributes.Hidden)
        {
            // Show the file.
            attributes = RemoveAttribute(attributes, FileAttributes.Hidden);
            File.SetAttributes(path, attributes);
            Console.WriteLine("The {0} file is no longer hidden.", path);
        } 
        else 
        {
            // Hide the file.
            File.SetAttributes(path, File.GetAttributes(path) | FileAttributes.Hidden);
            Console.WriteLine("The {0} file is now hidden.", path);
        }
    }

    private static FileAttributes RemoveAttribute(FileAttributes attributes, FileAttributes attributesToRemove)
    {
        return attributes & ~attributesToRemove;
    }
}
Imports System.IO
Imports System.Text

Public Class Test
    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"

        ' Create the file if it does not exist.
        If File.Exists(path) = False Then
            File.Create(path)
        End If

        Dim attributes As FileAttributes
        attributes = File.GetAttributes(path)

        If (attributes And FileAttributes.Hidden) = FileAttributes.Hidden Then
            ' Show the file.
            attributes = RemoveAttribute(attributes, FileAttributes.Hidden)
            File.SetAttributes(path, attributes)
            Console.WriteLine("The {0} file is no longer hidden.", path)
        Else
            ' Hide the file.
            File.SetAttributes(path, File.GetAttributes(path) Or FileAttributes.Hidden)
            Console.WriteLine("The {0} file is now hidden.", path)
        End If
    End Sub

    Public Shared Function RemoveAttribute(ByVal attributes As FileAttributes, ByVal attributesToRemove As FileAttributes) As FileAttributes
        Return attributes And (Not attributesToRemove)
    End Function
End Class

Comentarios

El parámetro path puede especificar información de ruta de acceso relativa o absoluta.The path parameter is permitted to specify relative or absolute path information. La información de la ruta de acceso relativa se interpreta en relación con el directorio de trabajo actual.Relative path information is interpreted as relative to the current working directory. Para obtener el directorio de trabajo actual, vea GetCurrentDirectory.To obtain the current working directory, see GetCurrentDirectory.

Algunos atributos de archivo, como Hidden y ReadOnly, se pueden combinar.Certain file attributes, such as Hidden and ReadOnly, can be combined. Otros atributos, como Normal, deben usarse por sí solos.Other attributes, such as Normal, must be used alone.

No es posible cambiar el estado de compresión de un objeto File mediante el método SetAttributes.It is not possible to change the compression status of a File object using the SetAttributes method.

Para obtener una lista de tareas de e/s comunes, consulte tareas comunes de e/s.For a list of common I/O tasks, see Common I/O Tasks.

Seguridad

FileIOPermission
para leer y escribir archivos.for reading and writing files. Enumeración asociada: WriteAssociated enumeration: Write

Se aplica a

Consulte también: