Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. |
Traducción
Original
|
Directory (Clase)
Expone métodos estáticos para crear, mover y enumerar archivos en directorios y subdirectorios. Esta clase no puede heredarse.
Ensamblado: mscorlib (en mscorlib.dll)
El tipo Directory expone los siguientes miembros.
| Nombre | Descripción | |
|---|---|---|
|
CreateDirectory(String) | Crea todos los directorios y subdirectorios en la ruta especificada. |
|
CreateDirectory(String, DirectorySecurity) | Crea todos los directorios en la ruta de acceso especificada, aplicando la seguridad de Windows especificada. |
|
Delete(String) | Elimina un directorio vacío de una ruta de acceso especificada. |
|
Delete(String, Boolean) | Elimina el directorio especificado y, si está indicado, los subdirectorios y archivos que contiene. |
|
EnumerateDirectories(String) | Devuelve una colección enumerable de nombres de directorio en una ruta de acceso especificada. |
|
EnumerateDirectories(String, String) | Devuelve una colección enumerable de nombres de directorio que coinciden con un modelo de búsqueda en una ruta de acceso especificada. |
|
EnumerateDirectories(String, String, SearchOption) | Devuelve una colección enumerable de nombres de directorio que coinciden con un modelo de búsqueda en una ruta de acceso especificada y, opcionalmente, busca en subdirectorios. |
|
EnumerateFiles(String) | Devuelve una colección enumerable de nombres de archivo en una ruta de acceso especificada. |
|
EnumerateFiles(String, String) | Devuelve una colección enumerable de nombres de archivo que coinciden con un modelo de búsqueda en una ruta de acceso especificada. |
|
EnumerateFiles(String, String, SearchOption) | Devuelve una colección enumerable de nombres de archivo que coinciden con un modelo de búsqueda en una ruta de acceso especificada y, opcionalmente, busca en subdirectorios. |
|
EnumerateFileSystemEntries(String) | Devuelve una colección enumerable de entradas del sistema de archivos en una ruta de acceso especificada. |
|
EnumerateFileSystemEntries(String, String) | Devuelve una colección enumerable de entradas del sistema de archivos que coinciden con un modelo de búsqueda en una ruta de acceso especificada. |
|
EnumerateFileSystemEntries(String, String, SearchOption) | Devuelve una colección enumerable de nombres de archivo y de directorio que coinciden con un modelo de búsqueda en una ruta de acceso especificada y, opcionalmente, busca en subdirectorios. |
|
Exists | Determina si la ruta de acceso dada hace referencia a un directorio existente en el disco. |
|
GetAccessControl(String) | Obtiene un objeto DirectorySecurity que encapsula las entradas de la lista de control de acceso (ACL) para un directorio especificado. |
|
GetAccessControl(String, AccessControlSections) | Obtiene un objeto DirectorySecurity que encapsula el tipo especificado de las entradas de la lista de control de acceso (ACL) para un directorio especificado. |
|
GetCreationTime | Obtiene la fecha y hora de creación de un directorio. |
|
GetCreationTimeUtc | Obtiene la fecha y hora de creación, en formato de Hora universal coordinada (UTC), de un directorio. |
|
GetCurrentDirectory | Obtiene el directorio de trabajo actual de la aplicación. |
|
GetDirectories(String) | Obtiene los nombres de los subdirectorios (incluyendo sus rutas de acceso) del directorio especificado. |
|
GetDirectories(String, String) | Obtiene una matriz de directorios (incluidas las rutas de acceso) que coinciden con el modelo de búsqueda especificado en el directorio actual. |
|
GetDirectories(String, String, SearchOption) | Obtiene los nombres de los directorios (incluidas las rutas) que coinciden con un modelo de búsqueda especificado en el directorio actual y, opcionalmente, busca en subdirectorios. |
|
GetDirectoryRoot | Devuelve la información del volumen, la información de raíz o ambas para la ruta de acceso especificada. |
|
GetFiles(String) | Devuelve los nombres de archivo (incluyendo sus rutas de acceso) del directorio especificado. |
|
GetFiles(String, String) | Devuelve los nombres de los archivos (con sus rutas de acceso) que coinciden con el modelo de búsqueda especificado en el directorio especificado. |
|
GetFiles(String, String, SearchOption) | Devuelve los nombres de los archivos (con sus rutas de acceso) que coincidan con el modelo de búsqueda especificado en el directorio especificado, utilizando un valor para determinar si se debe buscar en los subdirectorios. |
|
GetFileSystemEntries(String) | Devuelve los nombres de todos los archivos y subdirectorios del directorio especificado. |
|
GetFileSystemEntries(String, String) | Devuelve una matriz de entradas del sistema de archivos que coinciden con los criterios de búsqueda especificados. |
|
GetFileSystemEntries(String, String, SearchOption) | Obtiene una matriz de todos los nombres de archivo y de directorio que coinciden con un modelo de búsqueda en una ruta de acceso especificada y, opcionalmente, busca en subdirectorios. |
|
GetLastAccessTime | Devuelve la fecha y hora a la que se produjo el acceso al archivo o directorio especificados por última vez. |
|
GetLastAccessTimeUtc | Devuelve la fecha y la hora, en formato de Hora universal coordinada (UTC), a la que se produjo el último acceso al archivo o directorio especificado. |
|
GetLastWriteTime | Devuelve la fecha y hora a la que se escribió en el archivo o directorio especificados por última vez. |
|
GetLastWriteTimeUtc | Devuelve la fecha y la hora, en formato de Hora universal coordinada (UTC), a la que se escribió por última vez en el archivo o directorio especificado. |
|
GetLogicalDrives | Recupera los nombres de las unidades lógicas de este equipo, con el formato "<letra de unidad>:\". |
|
GetParent | Recupera el directorio principal de la ruta especificada, incluidas tanto las rutas de acceso absolutas como las relativas. |
|
Move | Mueve un archivo o directorio y su contenido a una nueva ubicación. |
|
SetAccessControl | Aplica al directorio especificado las entradas de la lista de control de acceso (ACL) descritas por un objeto DirectorySecurity. |
|
SetCreationTime | Establece la fecha y hora de creación del archivo o la carpeta especificados. |
|
SetCreationTimeUtc | Establece la fecha y hora de creación, en formato de Hora universal coordinada (UTC), del archivo o directorio especificado. |
|
SetCurrentDirectory | Establece el directorio de trabajo actual de la aplicación en el directorio especificado. |
|
SetLastAccessTime | Establece la fecha y hora a la que se produjo un acceso al archivo o directorio especificados por última vez. |
|
SetLastAccessTimeUtc | Establece la fecha y la hora, en formato de Hora universal coordinada (UTC), a la que se produjo el último acceso al archivo o directorio especificado. |
|
SetLastWriteTime | Establece la fecha y la hora en que escribió en un directorio por última vez. |
|
SetLastWriteTimeUtc | Establece la fecha y la hora, en formato de Hora universal coordinada (UTC), a la que se escribió en el directorio por última vez. |
Utilice la clase Directory para operaciones típicas como copiar, mover, cambiar de nombre, crear y eliminar directorios. También puede utilizar la clase Directory para obtener y establecer información de DateTime relacionada con la creación, el acceso y la escritura de un directorio.
Dado que todos los métodos de Directory son estáticos, puede resultar más eficaz utilizar un método de Directory en lugar del correspondiente método de instancia de DirectoryInfo si se desea realizar sólo una operación. La mayoría de los métodos Directory requieren la ruta de acceso al directorio que está manipulando.
Los métodos estáticos de la clase Directory realizan comprobaciones de seguridad en todos los métodos. Si va a utilizar un objeto varias veces, considere la posibilidad de usar el correspondiente método de instancia de DirectoryInfo, ya que no siempre es necesario realizar una comprobación de seguridad.
Nota
|
|---|
|
En miembros que aceptan una ruta de acceso como una cadena de entrada, esa ruta de acceso debe estar bien construida o se produce una excepción; sin embargo, si una ruta de acceso está completa pero comienza con un espacio, no se omite el espacio pero no se produce ninguna excepción. De forma similar, no se puede especificar dos veces el nombre completo de una ruta de acceso o una combinación de rutas de acceso. Por ejemplo, "c:\temp c:\windows" produce también una excepción en la mayoría de los casos. Asegúrese de que las rutas de acceso estén bien construidas cuando utilice métodos que acepten una cadena de ruta de acceso. |
En los miembros que aceptan una ruta de acceso, esta ruta puede hacer referencia a un archivo o sólo a un directorio. La ruta especificada puede hacer referencia también a una ruta relativa o a una ruta de convención de nomenclatura universal (Universal Naming Convention, UNC) de un servidor y un nombre de recurso compartido. Por ejemplo, las siguientes rutas de acceso son todas válidas:
-
"c:\\MiDir" en C# o "c:\MiDir" en Visual Basic.
-
"MiDir\\MiSubdir" en C# o "MiDir\MiSubDir" en Visual Basic.
-
"\\\\MiServidor\\MiRecursoComp" en C# o "\\MiServidor\MiRecursoComp" en Visual Basic.
De forma predeterminada, se otorga acceso completo de lectura y escritura a los nuevos directorios a todos los usuarios. Cuando se solicitan permisos para un directorio y la cadena de ruta de acceso finaliza con el carácter de separación de directorios, se solicitan los permisos de todos los subdirectorios que contiene (por ejemplo, "C:\Temp\"). Si sólo se requieren permisos para un directorio concreto, la cadena debería finalizar con un punto (por ejemplo, "C:\Temp\.").
Para obtener una lista de tareas comunes de E/S, vea Tareas de E/S comunes.
En el siguiente ejemplo de código se determina si un directorio especificado existe y, si es así, se elimina o, si no, se crea. A continuación, se mueve el directorio, se crea un archivo en él y se cuentan los archivos que contiene.
using System; using System.IO; class Test { public static void Main() { // Specify the directories you want to manipulate. string path = @"c:\MyDir"; string target = @"c:\TestDir"; try { // Determine whether the directory exists. if (!Directory.Exists(path)) { // Create the directory it does not exist. Directory.CreateDirectory(path); } if (Directory.Exists(target)) { // Delete the target to ensure it is not there. Directory.Delete(target, true); } // Move the directory. Directory.Move(path, target); // Create a file in the directory. File.CreateText(target + @"\myfile.txt"); // Count the files in the target directory. Console.WriteLine("The number of files in {0} is {1}", target, Directory.GetFiles(target).Length); } catch (Exception e) { Console.WriteLine("The process failed: {0}", e.ToString()); } finally {} } }
En el ejemplo de código siguiente se muestra cómo calcular el tamaño de un directorio.
// The following example calculates the size of a directory // and its subdirectories, if any, and displays the total size // in bytes. using System; using System.IO; public class ShowDirSize { public static long DirSize(DirectoryInfo d) { long Size = 0; // Add file sizes. FileInfo[] fis = d.GetFiles(); foreach (FileInfo fi in fis) { Size += fi.Length; } // Add subdirectory sizes. DirectoryInfo[] dis = d.GetDirectories(); foreach (DirectoryInfo di in dis) { Size += DirSize(di); } return(Size); } public static void Main(string[] args) { if (args.Length != 1) { Console.WriteLine("You must provide a directory argument at the command line."); } else { DirectoryInfo d = new DirectoryInfo(args[0]); long dsize = DirSize(d); Console.WriteLine("The size of {0} and its subdirectories is {1} bytes.", d, dsize); } } }
Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2
.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Nota