Leer en inglés

Compartir a través de


DirectoryInfo Clase

Definición

Expone métodos de instancia para crear, mover y enumerar archivos en directorios y subdirectorios. Esta clase no puede heredarse.

C#
public sealed class DirectoryInfo : System.IO.FileSystemInfo
C#
[System.Serializable]
public sealed class DirectoryInfo : System.IO.FileSystemInfo
C#
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class DirectoryInfo : System.IO.FileSystemInfo
Herencia
DirectoryInfo
Herencia
Atributos

Ejemplos

En el ejemplo siguiente se muestran algunos de los miembros principales de la DirectoryInfo clase .

C#
using System;
using System.IO;

class Test
{
    public static void Main()
    {
        // Specify the directories you want to manipulate.
        DirectoryInfo di = new DirectoryInfo(@"c:\MyDir");
        try
        {
            // Determine whether the directory exists.
            if (di.Exists)
            {
                // Indicate that the directory already exists.
                Console.WriteLine("That path exists already.");
                return;
            }

            // Try to create the directory.
            di.Create();
            Console.WriteLine("The directory was created successfully.");

            // Delete the directory.
            di.Delete();
            Console.WriteLine("The directory was deleted successfully.");
        }
        catch (Exception e)
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
        finally {}
    }
}

En el ejemplo siguiente se muestra cómo copiar un directorio y su contenido.

C#
using System;
using System.IO;

class CopyDir
{
    public static void CopyAll(DirectoryInfo source, DirectoryInfo target)
    {
        if (source.FullName.ToLower() == target.FullName.ToLower())
        {
            return;
        }

        // Check if the target directory exists, if not, create it.
        if (Directory.Exists(target.FullName) == false)
        {
            Directory.CreateDirectory(target.FullName);
        }

        // Copy each file into it's new directory.
        foreach (FileInfo fi in source.GetFiles())
        {
            Console.WriteLine(@"Copying {0}\{1}", target.FullName, fi.Name);
            fi.CopyTo(Path.Combine(target.ToString(), fi.Name), true);
        }

        // Copy each subdirectory using recursion.
        foreach (DirectoryInfo diSourceSubDir in source.GetDirectories())
        {
            DirectoryInfo nextTargetSubDir =
                target.CreateSubdirectory(diSourceSubDir.Name);
            CopyAll(diSourceSubDir, nextTargetSubDir);
        }
    }

    public static void Main()
    {
        string sourceDirectory = @"c:\sourceDirectory";
        string targetDirectory = @"c:\targetDirectory";

        DirectoryInfo diSource = new DirectoryInfo(sourceDirectory);
        DirectoryInfo diTarget = new DirectoryInfo(targetDirectory);

        CopyAll(diSource, diTarget);
    }

    // Output will vary based on the contents of the source directory.
}

Comentarios

Use la DirectoryInfo clase para operaciones típicas, como copiar, mover, cambiar el nombre, crear y eliminar directorios.

Si va a reutilizar un objeto varias veces, considere la posibilidad de usar el método de instancia de DirectoryInfo en lugar de los métodos estáticos correspondientes de la Directory clase, ya que no siempre será necesaria una comprobación de seguridad.

Nota

En los miembros que aceptan una ruta de acceso como una cadena de entrada, esa ruta de acceso debe tener un formato correcto o se produce una excepción. Por ejemplo, si una ruta de acceso está completa pero comienza con un espacio, la ruta de acceso no se recorta en métodos de la clase . Por lo tanto, la ruta de acceso tiene un formato incorrecto y se genera una excepción. Del mismo modo, una ruta de acceso o una combinación de rutas de acceso no se puede calificar dos veces. Por ejemplo, "c:\temp c:\windows" también genera una excepción en la mayoría de los casos. Asegúrese de que las rutas de acceso están bien formadas al usar métodos que aceptan una cadena de ruta de acceso.

En los miembros que aceptan una ruta de acceso, la ruta de acceso puede hacer referencia a un archivo o simplemente a un directorio. La ruta de acceso especificada también puede hacer referencia a una ruta de acceso relativa o a una ruta de acceso de convención de nomenclatura universal (UNC) para un servidor y un nombre de recurso compartido. Por ejemplo, todas las rutas de acceso siguientes son aceptables:

  • "c:\\MyDir\\MyFile.txt" en C#, o "c:\MyDir\MyFile.txt" en Visual Basic.

  • "c:\\MyDir" en C#, o "c:\MyDir" en Visual Basic.

  • "MyDir\\MySubdir" en C#, o "MyDir\MySubDir" en Visual Basic.

  • "\\\\MyServer\\MyShare" en C#, o "\\MyServer\MyShare" en Visual Basic.

De forma predeterminada, se concede acceso completo de lectura y escritura a nuevos directorios a todos los usuarios.

Para obtener una lista de las tareas de E/S comunes, consulte Tareas de E/S comunes.

Constructores

DirectoryInfo(String)

Inicializa una nueva instancia de la clase DirectoryInfo en la ruta de acceso especificada.

Campos

FullPath

Representa la ruta de acceso completa del directorio o el archivo.

(Heredado de FileSystemInfo)
OriginalPath

La ruta de acceso especificada originalmente por el usuario, ya sea relativa o absoluta.

(Heredado de FileSystemInfo)

Propiedades

Attributes

Obtiene o establece los atributos del archivo o directorio actual.

(Heredado de FileSystemInfo)
CreationTime

Obtiene o establece la hora de creación del archivo o directorio actual.

(Heredado de FileSystemInfo)
CreationTimeUtc

Obtiene o establece la hora de creación, en formato de hora universal coordinada (UTC), del archivo o directorio actual.

(Heredado de FileSystemInfo)
Exists

Obtiene un valor que indica si existe el directorio.

Extension

Obtiene la parte de extensión del nombre de archivo, incluido el punto . inicial, incluso si es el nombre de archivo completo o una cadena vacía si no hay ninguna extensión presente.

(Heredado de FileSystemInfo)
FullName

Obtiene la ruta de acceso completa del directorio.

FullName

Obtiene la ruta de acceso completa del directorio o el archivo.

(Heredado de FileSystemInfo)
LastAccessTime

Obtiene o establece la hora en la que se utilizó por última vez el archivo o directorio actual.

(Heredado de FileSystemInfo)
LastAccessTimeUtc

Obtiene o establece la hora, en formato de hora universal coordinada (UTC), a la que se produjo el último acceso al archivo o directorio actual.

(Heredado de FileSystemInfo)
LastWriteTime

Obtiene o establece la hora en la que se escribió por última vez en el archivo o directorio actual.

(Heredado de FileSystemInfo)
LastWriteTimeUtc

Obtiene o establece la hora, en formato de hora universal coordinada (UTC), a la que se escribió por última vez en el archivo o directorio actual.

(Heredado de FileSystemInfo)
LinkTarget

Obtiene la ruta de acceso de destino del vínculo ubicado en FullNameo null si esta FileSystemInfo instancia no representa un vínculo.

(Heredado de FileSystemInfo)
Name

Obtiene el nombre de esta instancia de DirectoryInfo.

Parent

Obtiene el directorio principal de un subdirectorio especificado.

Root

Obtiene la parte de la raíz del directorio.

UnixFileMode

Obtiene o establece el modo de archivo unix para el archivo o directorio actual.

(Heredado de FileSystemInfo)

Métodos

Create()

Crea un directorio.

Create(DirectorySecurity)

Crea un directorio mediante un objeto DirectorySecurity.

CreateAsSymbolicLink(String)

Crea un vínculo simbólico ubicado en FullName que apunta al especificado pathToTarget.

(Heredado de FileSystemInfo)
CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.

(Heredado de MarshalByRefObject)
CreateSubdirectory(String)

Crea uno o varios subdirectorios en la ruta de acceso especificada. La ruta de acceso especificada puede ser relativa a esta instancia de la clase DirectoryInfo.

CreateSubdirectory(String, DirectorySecurity)

Crea uno o varios subdirectorios en la ruta de acceso especificada con la seguridad especificada. La ruta de acceso especificada puede ser relativa a esta instancia de la clase DirectoryInfo.

Delete()

Elimina este DirectoryInfo si está vacío.

Delete(Boolean)

Elimina esta instancia de DirectoryInfo, especificando si se van a eliminar los subdirectorios y los archivos.

EnumerateDirectories()

Devuelve una colección enumerable de información de directorios del directorio actual.

EnumerateDirectories(String)

Devuelve una colección enumerable de información de directorios que coincide con un modelo de búsqueda especificado.

EnumerateDirectories(String, EnumerationOptions)

Devuelve una colección enumerable de información de directorios que coincide con el modelo de búsqueda especificado y las opciones de enumeración.

EnumerateDirectories(String, SearchOption)

Devuelve una colección enumerable de información de directorios que coincide con un modelo de búsqueda y una opción de búsqueda en subdirectorios especificados.

EnumerateFiles()

Devuelve una colección enumerable de información de archivos del directorio actual.

EnumerateFiles(String)

Devuelve una colección enumerable de información de archivos que coincide con un modelo de búsqueda.

EnumerateFiles(String, EnumerationOptions)

Devuelve una colección enumerable de información de archivos que coincide con el modelo de búsqueda y las opciones de enumeración.

EnumerateFiles(String, SearchOption)

Devuelve una colección enumerable de información de archivos que coincide con un modelo de búsqueda y una opción de búsqueda en subdirectorios especificados.

EnumerateFileSystemInfos()

Devuelve una colección enumerable de información del sistema de archivos del directorio actual.

EnumerateFileSystemInfos(String)

Devuelve una colección enumerable de información del sistema de archivos que coincide con un modelo de búsqueda especificado.

EnumerateFileSystemInfos(String, EnumerationOptions)

Devuelve una colección enumerable de información del sistema que coincide con el modelo de búsqueda especificado y las opciones de enumeración.

EnumerateFileSystemInfos(String, SearchOption)

Devuelve una colección enumerable de información del sistema de archivos que coincide con un modelo de búsqueda y una opción de búsqueda en subdirectorios especificados.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetAccessControl()

Obtiene un objeto DirectorySecurity que encapsula las entradas de la lista de control de acceso (ACL) del directorio descrito por el objeto DirectoryInfo actual.

GetAccessControl(AccessControlSections)

Obtiene un objeto DirectorySecurity que encapsula el tipo especificado de entradas de la lista de control de acceso (ACL) del directorio descrito por el objeto DirectoryInfo actual.

GetDirectories()

Devuelve los subdirectorios del directorio actual.

GetDirectories(String)

Devuelve una matriz de directorios en el DirectoryInfo actual que coinciden con los criterios de búsqueda especificados.

GetDirectories(String, EnumerationOptions)

Devuelve una matriz de directorios en el objeto DirectoryInfo actual que coinciden con el patrón de búsqueda y las opciones de enumeración especificados.

GetDirectories(String, SearchOption)

Devuelve una matriz de directorios en el DirectoryInfo actual aplicando los criterios de búsqueda dados y utilizando un valor para determinar si se busca en los subdirectorios.

GetFiles()

Devuelve una lista de archivos del directorio actual.

GetFiles(String)

Devuelve una lista de archivos del directorio actual que coinciden con el modelo de búsqueda.

GetFiles(String, EnumerationOptions)

Devuelve una lista de archivos del directorio actual que coinciden con el patrón de búsqueda y las opciones de enumeración especificados.

GetFiles(String, SearchOption)

Devuelve una lista de archivos del directorio actual que coinciden con el modelo de búsqueda dado y utiliza un valor para determinar si se va a buscar en los subdirectorios.

GetFileSystemInfos()

Devuelve una matriz de entradas FileSystemInfo fuertemente tipadas que representan todos los archivos y subdirectorios de un directorio.

GetFileSystemInfos(String)

Recupera una matriz de objetos FileSystemInfo fuertemente tipados que representan los archivos y subdirectorios que coinciden con los criterios de búsqueda especificados.

GetFileSystemInfos(String, EnumerationOptions)

Recupera una matriz de objetos FileSystemInfo fuertemente tipados que representan los archivos y subdirectorios que coinciden con el patrón de búsqueda y las opciones de enumeración especificados.

GetFileSystemInfos(String, SearchOption)

Recupera una matriz de objetos FileSystemInfo que representan los archivos y subdirectorios que coinciden con los criterios de búsqueda especificados.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetLifetimeService()
Obsoletos.

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)
Obsoletos.

Establece el objeto SerializationInfo con el nombre de archivo y la información adicional de la excepción.

(Heredado de FileSystemInfo)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
InitializeLifetimeService()
Obsoletos.

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.

(Heredado de MarshalByRefObject)
MoveTo(String)

Mueve una instancia de DirectoryInfo y su contenido a una nueva ruta de acceso.

Refresh()

Actualiza el estado del objeto.

(Heredado de FileSystemInfo)
ResolveLinkTarget(Boolean)

Obtiene el destino del vínculo especificado.

(Heredado de FileSystemInfo)
SetAccessControl(DirectorySecurity)

Aplica las entradas de la lista de control de acceso (ACL) descritas por un objeto DirectorySecurity al directorio descrito por el objeto DirectoryInfo actual.

ToString()

Devuelve la ruta de acceso original que se ha pasado al constructor DirectoryInfo. En lugar de este método, use las propiedades FullName o Name para la ruta de acceso completa o el nombre de archivo o directorio.

ToString()

Devuelve la ruta de acceso original. Use las propiedades FullName o Name para la ruta de acceso completa o el nombre de archivo o directorio.

(Heredado de FileSystemInfo)

Métodos de extensión

Create(DirectoryInfo, DirectorySecurity)

Crea un nuevo directorio, asegurándose de que se crea con la seguridad de directorio especificada. Si el directorio ya existe, no se hace nada.

GetAccessControl(DirectoryInfo)

Devuelve la información de seguridad de un directorio.

GetAccessControl(DirectoryInfo, AccessControlSections)

Devuelve la información de seguridad de un directorio.

SetAccessControl(DirectoryInfo, DirectorySecurity)

Cambia los atributos de seguridad de un directorio existente.

Se aplica a

Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Consulte también