Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original
Información
El tema que ha solicitado se muestra abajo. Sin embargo, este tema no se encuentra en la biblioteca.

Directory.GetFileSystemEntries (Método) (String, String)

Devuelve una matriz de entradas del sistema de archivos que coinciden con los criterios de búsqueda especificados.

Espacio de nombres:  System.IO
Ensamblado:  mscorlib (en mscorlib.dll)

public static string[] GetFileSystemEntries(
	string path,
	string searchPattern
)

Parámetros

path
Tipo: System.String
Ruta donde se va a buscar.
searchPattern
Tipo: System.String
Cadena de búsqueda que debe coincidir con los nombres de los archivos de path. El parámetro searchPattern no puede terminar en dos puntos ("..") ni contener dos puntos ("..") seguidos de DirectorySeparatorChar o AltDirectorySeparatorChar, ni puede contener ninguno de los caracteres de InvalidPathChars.

Valor devuelto

Tipo: System.String[]
Una matriz de entradas del sistema de archivos que coinciden con los criterios de búsqueda especificados.

ExcepciónCondición
UnauthorizedAccessException

El llamador no dispone del permiso requerido.

ArgumentException

path es una cadena de longitud cero, contiene solo espacios en blanco o contiene uno o varios de los caracteres no válidos definidos por InvalidPathChars.

O bien

searchPattern no contiene un modelo válido.

ArgumentNullException

path o searchPattern es null.

PathTooLongException

La ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema. Por ejemplo, en las plataformas basadas en Windows, las rutas de acceso deben ser inferiores a 248 caracteres y los nombres de archivo deben ser inferiores a 260 caracteres.

IOException

path es un nombre de archivo.

DirectoryNotFoundException

La ruta de acceso especificada no es válida (por ejemplo, se encuentra en una unidad de red no asignada).

Los métodos EnumerateFileSystemEntries y GetFileSystemEntries difieren como sigue: al usar EnumerateFileSystemEntries, puede empezar a enumerar la colección de entradas antes de que se devuelva la colección entera; al usar GetFileSystemEntries, debe esperar a que la matriz entera de entradas se devuelva antes de poder tener acceso a la matriz. Por consiguiente, cuando está trabajando con muchos archivos y directorios, EnumerateFiles puede ser más eficaz.

En searchPattern se permiten los siguientes especificadores comodín.

Carácter comodín

Descripción

*

Cero o más caracteres.

?

Exactamente un carácter.

Los caracteres que no son especificadores comodín se representan a sí mismos. Por ejemplo, la cadena searchPattern "*t" busca todos los nombres de directorio de path que terminan con la letra "t". La cadena searchPattern "s*" busca todos los nombres de path que empiezan por la letra "s".

El comportamiento de searchPattern al buscar coincidencias cuando la extensión tiene exactamente tres caracteres difiere del comportamiento en el caso de que la extensión contenga más de tres caracteres. Un searchPattern de exactamente tres caracteres devuelve archivos que tienen una extensión de tres o más caracteres. Un parámetro searchPattern de uno, dos o más de tres caracteres sólo devuelve los archivos con extensiones que tienen exactamente esa longitud.

En la siguiente lista se muestra el comportamiento del parámetro searchPattern con distintas longitudes.

  • "*.abc" devuelve los archivos que tienen la extensión .abc, .abcd, .abcde, .abcdef, etc.

  • "*.abcd" sólo devuelve los archivos con la extensión .abcd.

  • "*.abcde" sólo devuelve los archivos con la extensión .abcde.

  • "*.abcdef" sólo devuelve los archivos con la extensión .abcdef.

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. Para obtener el directorio de trabajo actual, vea GetCurrentDirectory.

El parámetro path no distingue mayúsculas y minúsculas.

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

En el ejemplo siguiente se utiliza el método GetFileSystemEntries para llenar una matriz de cadenas con los nombres de todos los archivos que coincidan con un filtro especificado por el usuario en una ubicación específica e imprime cada cadena de la matriz en la consola. El ejemplo se ha configurado para interceptar todos los errores comunes de este método.


using System;

namespace GetFileSystemEntries
{
    class Class1 
    {
        static void Main(string[] args) 
        {
            Class1 snippets = new Class1();

            string path = System.IO.Directory.GetCurrentDirectory();
            string filter = "*.exe";

            snippets.PrintFileSystemEntries(path);
            snippets.PrintFileSystemEntries(path, filter);		
            snippets.GetLogicalDrives();
            snippets.GetParent(path);
            snippets.Move("C:\\proof", "C:\\Temp");
        }

		
        void PrintFileSystemEntries(string path) 
        {
			
            try 
            {
                // Obtain the file system entries in the directory path.
                string[] directoryEntries =
                    System.IO.Directory.GetFileSystemEntries(path); 

                foreach (string str in directoryEntries) 
                {
                    System.Console.WriteLine(str);
                }
            }
            catch (ArgumentNullException) 
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (System.Security.SecurityException) 
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
            catch (ArgumentException) 
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, " + 
                    "or contains invalid characters.");
            }
            catch (System.IO.DirectoryNotFoundException) 
            {
                System.Console.WriteLine("The path encapsulated in the " + 
                    "Directory object does not exist.");
            }
        }
        void PrintFileSystemEntries(string path, string pattern) 
        {
            try 
            {
                // Obtain the file system entries in the directory
                // path that match the pattern.
                string[] directoryEntries =
                    System.IO.Directory.GetFileSystemEntries(path, pattern); 

                foreach (string str in directoryEntries) 
                {
                    System.Console.WriteLine(str);
                }
            }
            catch (ArgumentNullException) 
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (System.Security.SecurityException) 
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
            catch (ArgumentException) 
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, " + 
                    "or contains invalid characters.");
            }
            catch (System.IO.DirectoryNotFoundException) 
            {
                System.Console.WriteLine("The path encapsulated in the " + 
                    "Directory object does not exist.");
            }
        }

        // Print out all logical drives on the system.
        void GetLogicalDrives() 
        {
            try 
            {
                string[] drives = System.IO.Directory.GetLogicalDrives();

                foreach (string str in drives) 
                {
                    System.Console.WriteLine(str);
                }
            }
            catch (System.IO.IOException) 
            {
                System.Console.WriteLine("An I/O error occurs.");
            }
            catch (System.Security.SecurityException) 
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
        }
        void GetParent(string path) 
        {
            try 
            {
                System.IO.DirectoryInfo directoryInfo =
                    System.IO.Directory.GetParent(path);

                System.Console.WriteLine(directoryInfo.FullName);
            }
            catch (ArgumentNullException) 
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (ArgumentException) 
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, or " +
                    "contains invalid characters.");
            }
        }
        void Move(string sourcePath, string destinationPath) 
        {
            try 
            {
                System.IO.Directory.Move(sourcePath, destinationPath);
                System.Console.WriteLine("The directory move is complete.");
            }
            catch (ArgumentNullException) 
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (System.Security.SecurityException) 
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
            catch (ArgumentException) 
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, " + 
                    "or contains invalid characters.");	
            }
            catch (System.IO.IOException) 
            {
                System.Console.WriteLine("An attempt was made to move a " +
                    "directory to a different " +
                    "volume, or destDirName " +
                    "already exists."); 
            }
        }
    }
}


.NET Framework

Compatible con: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.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.

Adiciones de comunidad

Mostrar:
© 2015 Microsoft