Directory.Exists (Método)
Ensamblado: mscorlib (en mscorlib.dll)
El parámetro path puede especificar información de ruta de acceso relativa o absoluta. La información de ruta de acceso relativa se interpreta en relación con el directorio de trabajo actual.
Los espacios finales se quitan del final del parámetro path antes de comprobar si el directorio existe.
El parámetro path no distingue mayúsculas y minúsculas.
El método Exists no realiza la autenticación de red. Si se consulta un recurso compartido de red existente sin una autenticación previa, el método Exists devuelve false.
En la siguiente tabla se muestran ejemplos de otras tareas de E/S típicas o relacionadas.
| Para realizar esta operación... | Vea el ejemplo de este tema... |
|---|---|
| Crear un archivo de texto | |
| Escribir en un archivo de texto. | |
| Leer de un archivo de texto. | |
| Cambiar de nombre o mover un directorio | |
| Eliminar un directorio | |
| Crear un directorio | |
| Crear un subdirectorio | |
| Ver los archivos de un directorio | |
| Ver los subdirectorios de un directorio | |
| Ver todos los archivos de todos los subdirectorios de un directorio | |
| Obtener el tamaño de un directorio. | |
| Determinar si un archivo existe | |
| Ordenar por tamaño los archivos de un directorio | GetFileSystemInfos |
En el siguiente ejemplo de código se toma una matriz de nombres de archivo o directorio en la línea de comandos, se determina de qué tipo de nombre se trata y se procesa en consecuencia.
// For File.Exists, Directory.Exists using System; using System.IO; using System.Collections; public class RecursiveFileProcessor { public static void Main(string[] args) { foreach(string path in args) { if(File.Exists(path)) { // This path is a file ProcessFile(path); } else if(Directory.Exists(path)) { // This path is a directory ProcessDirectory(path); } else { Console.WriteLine("{0} is not a valid file or directory.", path); } } } // Process all files in the directory passed in, recurse on any directories // that are found, and process the files they contain. public static void ProcessDirectory(string targetDirectory) { // Process the list of files found in the directory. string [] fileEntries = Directory.GetFiles(targetDirectory); foreach(string fileName in fileEntries) ProcessFile(fileName); // Recurse into subdirectories of this directory. string [] subdirectoryEntries = Directory.GetDirectories(targetDirectory); foreach(string subdirectory in subdirectoryEntries) ProcessDirectory(subdirectory); } // Insert logic for processing found files here. public static void ProcessFile(string path) { Console.WriteLine("Processed file '{0}'.", path); } }
// For File.Exists, Directory.Exists
import System.*;
import System.IO.*;
import System.Collections.*;
public class RecursiveFileProcessor
{
public static void main(String[] args)
{
for (int iCtr = 0; iCtr < args.get_Length(); iCtr++) {
String path = args[iCtr];
if (File.Exists(path)) {
// This path is a file
ProcessFile(path);
}
else {
if (Directory.Exists(path)) {
// This path is a directory
ProcessDirectory(path);
}
else {
Console.WriteLine("{0} is not a valid file or directory.",
path);
}
}
}
} //main
// Process all files in the directory passed in, recurse on any directories
// that are found, and process the files they contain.
public static void ProcessDirectory(String targetDirectory)
{
// Process the list of files found in the directory.
String fileEntries[] = Directory.GetFiles(targetDirectory);
for (int iCtr1 = 0; iCtr1 < fileEntries.get_Length(); iCtr1++) {
String fileName = fileEntries[iCtr1];
ProcessFile(fileName);
}
// Recurse into subdirectories of this directory.
String subDirectoryEntries[] =
Directory.GetDirectories(targetDirectory);
for (int iCtr2 = 0; iCtr2 < subDirectoryEntries.get_Length();
iCtr2++) {
String subDirectory = subDirectoryEntries[iCtr2];
ProcessDirectory(subDirectory);
}
} //ProcessDirectory
// Insert logic for processing found files here.
public static void ProcessFile(String path)
{
Console.WriteLine("Processed file '{0}'.", path);
} //ProcessFile
} //RecursiveFileProcessor
//For Directory.GetFiles and Directory.GetDirectories import System; import System.IO; import System.Collections; // For File.Exists, Directory.Exists // Takes an array of file names or directory names on the command line. // Determines what kind of name it is and processes it appropriately public class RecursiveFileProcessor { public static function Main(args : String[]) : void { for(var i : int in args) { var path : String = args[i]; if (File.Exists(path)) { // This path is a file ProcessFile(path); } else if(Directory.Exists(path)) { // This path is a directory ProcessDirectory(path); } else { Console.WriteLine("{0} is not a valid file or directory.", path); } } } // Process all files in the directory passed in, and recurse on any directories // that are found to process the files they contain public static function ProcessDirectory(targetDirectory : String) : void { // Process the list of files found in the directory var fileEntries : String [] = Directory.GetFiles(targetDirectory); for (var i : int in fileEntries) ProcessFile(fileEntries[i]); // Recurse into subdirectories of this directory var subdirectoryEntries : String[] = Directory.GetDirectories(targetDirectory); for (i in subdirectoryEntries) ProcessDirectory(subdirectoryEntries[i]); } // Real logic for processing found files would go here. public static function ProcessFile(path : String) : void { Console.WriteLine("Processed file '{0}'.", path); } } // For JScript there is no 'Main' routine defined and hence the command line arguments // have to be obtained with a call to System.Environment.GetCommandLineArgs RecursiveFileProcessor.Main(System.Environment.GetCommandLineArgs());
- FileIOPermission para leer archivos. Enumeración asociada: FileIOPermissionAccess.Read.
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition
.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.