Directory.EnumerateDirectories Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve una colección enumerable de nombres completos de directorios que cumplen los criterios especificados.
Sobrecargas
| Nombre | Description |
|---|---|
| EnumerateDirectories(String) |
Devuelve una colección enumerable de nombres completos de directorios en una ruta de acceso especificada. |
| EnumerateDirectories(String, String) |
Devuelve una colección enumerable de nombres completos de directorios que coinciden con un patrón de búsqueda en una ruta de acceso especificada. |
| EnumerateDirectories(String, String, EnumerationOptions) |
Devuelve una colección enumerable de los nombres completos del directorio que coinciden con un patrón de búsqueda en una ruta de acceso especificada y, opcionalmente, busca en subdirectorios. |
| EnumerateDirectories(String, String, SearchOption) |
Devuelve una colección enumerable de nombres completos de directorio que coinciden con un patrón de búsqueda en una ruta de acceso especificada y, opcionalmente, busca en subdirectorios. |
EnumerateDirectories(String)
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
Devuelve una colección enumerable de nombres completos de directorios en una ruta de acceso especificada.
public:
static System::Collections::Generic::IEnumerable<System::String ^> ^ EnumerateDirectories(System::String ^ path);
public static System.Collections.Generic.IEnumerable<string> EnumerateDirectories(string path);
static member EnumerateDirectories : string -> seq<string>
Public Shared Function EnumerateDirectories (path As String) As IEnumerable(Of String)
Parámetros
- path
- String
Ruta de acceso relativa o absoluta al directorio que se va a buscar. Esta cadena no distingue mayúsculas de minúsculas.
Devoluciones
Colección enumerable de los nombres completos (incluidas las rutas de acceso) de los directorios del directorio especificado por path.
Excepciones
.NET Framework y .NET Core versiones anteriores a la 2.1: path es una cadena de longitud cero, solo contiene espacios en blanco o contiene caracteres no válidos. Puede consultar caracteres no válidos mediante el método GetInvalidPathChars().
path es null.
path no es válido, como hacer referencia a una unidad no asignada.
path es un nombre de archivo.
La ruta de acceso especificada, el nombre de archivo o la combinación superan la longitud máxima definida por el sistema.
El autor de la llamada no tiene el permiso necesario.
El autor de la llamada no tiene el permiso necesario.
Ejemplos
En el ejemplo siguiente se enumeran los directorios de nivel superior de una ruta de acceso especificada.
using System;
using System.Collections.Generic;
using System.IO;
class Program
{
private static void Main(string[] args)
{
try
{
// Set a variable to the My Documents path.
string docPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
List<string> dirs = new List<string>(Directory.EnumerateDirectories(docPath));
foreach (var dir in dirs)
{
Console.WriteLine($"{dir.Substring(dir.LastIndexOf(Path.DirectorySeparatorChar) + 1)}");
}
Console.WriteLine($"{dirs.Count} directories found.");
}
catch (UnauthorizedAccessException ex)
{
Console.WriteLine(ex.Message);
}
catch (PathTooLongException ex)
{
Console.WriteLine(ex.Message);
}
}
}
open System
open System.IO
try
// Set a variable to the My Documents path.
let docPath = Environment.GetFolderPath Environment.SpecialFolder.MyDocuments
let dirs = Directory.EnumerateDirectories docPath |> Seq.toList
for dir in dirs do
printfn $"{dir.Substring(dir.LastIndexOf Path.DirectorySeparatorChar + 1)}"
printfn $"{dirs.Length} directories found."
with
| :? UnauthorizedAccessException as ex ->
printfn $"{ex.Message}"
| :? PathTooLongException as ex ->
printfn $"{ex.Message}"
Imports System.Collections.Generic
Imports System.IO
Module Module1
Sub Main()
Try
Dim dirPath As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
Dim dirs As List(Of String) = New List(Of String)(Directory.EnumerateDirectories(dirPath))
For Each folder In dirs
Console.WriteLine($"{dir.Substring(dir.LastIndexOf(Path.DirectorySeparatorChar) + 1)}")
Next
Console.WriteLine($"{dirs.Count} directories found.")
Catch ex As UnauthorizedAccessException
Console.WriteLine(ex.Message)
Catch ex As PathTooLongException
Console.WriteLine(ex.Message)
End Try
End Sub
End Module
Comentarios
Puede especificar información de ruta de acceso relativa o absoluta en el path parámetro . La información de ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual, que puede determinar mediante el GetCurrentDirectory método . Los nombres de directorio devueltos tienen como prefijo el valor que proporcionó en el path parámetro . Por ejemplo, si proporciona una ruta de acceso relativa en el path parámetro , los nombres de directorio devueltos contendrán una ruta de acceso relativa.
Los EnumerateDirectories métodos y GetDirectories difieren de la siguiente manera: Cuando se usa EnumerateDirectories, puede empezar a enumerar la colección de nombres antes de que se devuelva toda la colección; cuando se usa GetDirectories, debe esperar a que se devuelva toda la matriz de nombres para poder tener acceso a la matriz. Por lo tanto, cuando se trabaja con muchos archivos y directorios, EnumerateDirectories puede ser más eficaz.
La colección devuelta no se almacena en caché; cada llamada a en GetEnumerator la colección iniciará una nueva enumeración.
Se aplica a
EnumerateDirectories(String, String)
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
Devuelve una colección enumerable de nombres completos de directorios que coinciden con un patrón de búsqueda en una ruta de acceso especificada.
public:
static System::Collections::Generic::IEnumerable<System::String ^> ^ EnumerateDirectories(System::String ^ path, System::String ^ searchPattern);
public static System.Collections.Generic.IEnumerable<string> EnumerateDirectories(string path, string searchPattern);
static member EnumerateDirectories : string * string -> seq<string>
Public Shared Function EnumerateDirectories (path As String, searchPattern As String) As IEnumerable(Of String)
Parámetros
- path
- String
Ruta de acceso relativa o absoluta al directorio que se va a buscar. Esta cadena no distingue mayúsculas de minúsculas.
- searchPattern
- String
Cadena de búsqueda que debe coincidir con los nombres de directorios de path. Este parámetro puede contener una combinación de caracteres comodín y ruta de acceso literal válida (* y ?), pero no admite expresiones regulares.
Devoluciones
Colección enumerable de los nombres completos (incluidas las rutas de acceso) de los directorios del directorio especificado por path y que coinciden con el patrón de búsqueda especificado.
Excepciones
.NET Framework y .NET Core versiones anteriores a la 2.1: path es una cadena de longitud cero, solo contiene espacios en blanco o contiene caracteres no válidos. Puede consultar caracteres no válidos con el GetInvalidPathChars() método .
O bien
searchPattern no contiene un patrón válido.
path no es válido, como hacer referencia a una unidad no asignada.
path es un nombre de archivo.
La ruta de acceso especificada, el nombre de archivo o la combinación superan la longitud máxima definida por el sistema.
El autor de la llamada no tiene el permiso necesario.
El autor de la llamada no tiene el permiso necesario.
Ejemplos
En el ejemplo siguiente se enumeran los directorios de nivel superior de una ruta de acceso especificada que coinciden con un patrón de búsqueda especificado.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
class Program
{
private static void Main(string[] args)
{
try
{
string dirPath = @"\\archives\2009\reports";
// LINQ query.
var dirs = from dir in
Directory.EnumerateDirectories(dirPath, "dv_*")
select dir;
// Show results.
foreach (var dir in dirs)
{
// Remove path information from string.
Console.WriteLine("{0}",
dir.Substring(dir.LastIndexOf("\\") + 1));
}
Console.WriteLine("{0} directories found.",
dirs.Count<string>().ToString());
// Optionally create a List collection.
List<string> workDirs = new List<string>(dirs);
}
catch (UnauthorizedAccessException UAEx)
{
Console.WriteLine(UAEx.Message);
}
catch (PathTooLongException PathEx)
{
Console.WriteLine(PathEx.Message);
}
}
}
open System
open System.IO
try
let dirPath = @"\\archives\2009\reports"
let dirs =
Directory.EnumerateDirectories(dirPath, "dv_*")
|> Seq.cache
// Show results.
for dir in dirs do
// Remove path information from string.
printfn $"{dir.Substring(dir.LastIndexOf '\\' + 1)}"
printfn $"{Seq.length dirs} directories found."
// Optionally create a list collection.
let workDirs = Seq.toList dirs
()
with
| :? UnauthorizedAccessException as uaEx ->
printfn $"{uaEx.Message}"
| :? PathTooLongException as pathEx ->
printfn $"{pathEx.Message}"
Imports System.Collections.Generic
Imports System.IO
Imports System.Linq
Module Module1
Sub Main()
Try
Dim dirPath As String = "\\archives\2009\reports"
' LINQ query.
Dim dirs = From folder In _
Directory.EnumerateDirectories(dirPath, "dv_*")
For Each folder In dirs
' Remove path infomration from string.
Console.WriteLine("{0}", _
folder.Substring(folder.LastIndexOf("\") + 1))
Next
Console.WriteLine("{0} directories found.", _
dirs.Count.ToString())
' Optionally create a List collection.
Dim workDirs As List(Of String) = New List(Of String)
Catch UAEx As UnauthorizedAccessException
Console.WriteLine(UAEx.Message)
Catch PathEx As PathTooLongException
Console.WriteLine(PathEx.Message)
End Try
End Sub
End Module
Comentarios
searchPattern puede ser una combinación de caracteres literales y comodín, pero no admite expresiones regulares. Los siguientes especificadores de caracteres comodín se permiten en searchPattern.
| Especificador de caracteres comodín | Coincidencias |
|---|---|
| * (asterisco) | Cero o más caracteres en esa posición. |
| ? (signo de interrogación) | Exactamente un carácter en esa posición. |
Los caracteres distintos del carácter comodín son caracteres literales. Por ejemplo, la searchPattern cadena "*t" busca todos los nombres al path terminar con la letra "t". La searchPattern cadena "s*" busca todos los nombres a path partir de la letra "s".
searchPattern no puede terminar en dos puntos ("..") ni contener dos puntos ("..") seguidos de DirectorySeparatorChar o AltDirectorySeparatorChar, ni puede contener caracteres no válidos. Puede consultar caracteres no válidos mediante el método GetInvalidPathChars.
Puede especificar información de ruta de acceso relativa o absoluta en el path parámetro . La información de ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual, que puede determinar mediante el GetCurrentDirectory método . Los nombres de directorio devueltos tienen como prefijo el valor que proporcionó en el path parámetro . Por ejemplo, si proporciona una ruta de acceso relativa en el path parámetro , los nombres de directorio devueltos contendrán una ruta de acceso relativa.
Los EnumerateDirectories métodos y GetDirectories difieren de la siguiente manera: Cuando se usa EnumerateDirectories, puede empezar a enumerar la colección de nombres antes de que se devuelva toda la colección; cuando se usa GetDirectories, debe esperar a que se devuelva toda la matriz de nombres para poder tener acceso a la matriz. Por lo tanto, cuando se trabaja con muchos archivos y directorios, EnumerateDirectories puede ser más eficaz.
La colección devuelta no se almacena en caché; cada llamada a en GetEnumerator la colección iniciará una nueva enumeración.
Se aplica a
EnumerateDirectories(String, String, EnumerationOptions)
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
Devuelve una colección enumerable de los nombres completos del directorio que coinciden con un patrón de búsqueda en una ruta de acceso especificada y, opcionalmente, busca en subdirectorios.
public:
static System::Collections::Generic::IEnumerable<System::String ^> ^ EnumerateDirectories(System::String ^ path, System::String ^ searchPattern, System::IO::EnumerationOptions ^ enumerationOptions);
public static System.Collections.Generic.IEnumerable<string> EnumerateDirectories(string path, string searchPattern, System.IO.EnumerationOptions enumerationOptions);
static member EnumerateDirectories : string * string * System.IO.EnumerationOptions -> seq<string>
Public Shared Function EnumerateDirectories (path As String, searchPattern As String, enumerationOptions As EnumerationOptions) As IEnumerable(Of String)
Parámetros
- path
- String
Ruta de acceso relativa o absoluta al directorio que se va a buscar. Esta cadena no distingue mayúsculas de minúsculas.
- searchPattern
- String
Cadena de búsqueda que debe coincidir con los nombres de directorios de path. Este parámetro puede contener una combinación de caracteres comodín y ruta de acceso literal válida (* y ?), pero no admite expresiones regulares.
- enumerationOptions
- EnumerationOptions
Objeto que describe la configuración de búsqueda y enumeración que se va a usar.
Devoluciones
Colección enumerable de los nombres completos (incluidas las rutas de acceso) de los directorios del directorio especificado por path y que coinciden con el patrón de búsqueda y las opciones de enumeración especificados.
Excepciones
.NET Framework y .NET Core versiones anteriores a la 2.1: path es una cadena de longitud cero, solo contiene espacios en blanco o contiene caracteres no válidos. Puede consultar caracteres no válidos mediante el método GetInvalidPathChars().
O bien
searchPattern no contiene un patrón válido.
path o searchPattern es null.
path no es válido, como hacer referencia a una unidad no asignada.
path es un nombre de archivo.
La ruta de acceso especificada, el nombre de archivo o la combinación superan la longitud máxima definida por el sistema.
El autor de la llamada no tiene el permiso necesario.
El autor de la llamada no tiene el permiso necesario.
Comentarios
searchPattern puede ser una combinación de caracteres literales y comodín, pero no admite expresiones regulares. Los siguientes especificadores de caracteres comodín se permiten en searchPattern.
| Especificador de caracteres comodín | Coincidencias |
|---|---|
| * (asterisco) | Cero o más caracteres en esa posición. |
| ? (signo de interrogación) | Exactamente un carácter en esa posición. |
Los caracteres distintos del carácter comodín son caracteres literales. Por ejemplo, la searchPattern cadena "*t" busca todos los nombres al path terminar con la letra "t". La searchPattern cadena "s*" busca todos los nombres a path partir de la letra "s".
searchPattern no puede terminar en dos puntos ("..") ni contener dos puntos ("..") seguidos de DirectorySeparatorChar o AltDirectorySeparatorChar, ni puede contener caracteres no válidos. Puede consultar caracteres no válidos mediante el método GetInvalidPathChars.
Puede especificar información de ruta de acceso relativa o absoluta en el path parámetro . La información de ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual, que puede determinar mediante el GetCurrentDirectory método . Los nombres de directorio devueltos tienen como prefijo el valor que proporcionó en el path parámetro . Por ejemplo, si proporciona una ruta de acceso relativa en el path parámetro , los nombres de directorio devueltos contendrán una ruta de acceso relativa.
Los EnumerateDirectories métodos y GetDirectories difieren de la siguiente manera: Cuando se usa EnumerateDirectories, puede empezar a enumerar la colección de nombres antes de que se devuelva toda la colección; cuando se usa GetDirectories, debe esperar a que se devuelva toda la matriz de nombres para poder tener acceso a la matriz. Por lo tanto, cuando se trabaja con muchos archivos y directorios, EnumerateDirectories puede ser más eficaz.
La colección devuelta no se almacena en caché; cada llamada a en GetEnumerator la colección iniciará una nueva enumeración.
Se aplica a
EnumerateDirectories(String, String, SearchOption)
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
Devuelve una colección enumerable de nombres completos de directorio que coinciden con un patrón de búsqueda en una ruta de acceso especificada y, opcionalmente, busca en subdirectorios.
public:
static System::Collections::Generic::IEnumerable<System::String ^> ^ EnumerateDirectories(System::String ^ path, System::String ^ searchPattern, System::IO::SearchOption searchOption);
public static System.Collections.Generic.IEnumerable<string> EnumerateDirectories(string path, string searchPattern, System.IO.SearchOption searchOption);
static member EnumerateDirectories : string * string * System.IO.SearchOption -> seq<string>
Public Shared Function EnumerateDirectories (path As String, searchPattern As String, searchOption As SearchOption) As IEnumerable(Of String)
Parámetros
- path
- String
Ruta de acceso relativa o absoluta al directorio que se va a buscar. Esta cadena no distingue mayúsculas de minúsculas.
- searchPattern
- String
Cadena de búsqueda que debe coincidir con los nombres de directorios de path. Este parámetro puede contener una combinación de caracteres comodín y ruta de acceso literal válida (* y ?), pero no admite expresiones regulares.
- searchOption
- SearchOption
Uno de los valores de enumeración que especifica si la operación de búsqueda debe incluir solo el directorio actual o debe incluir todos los subdirectorios. El valor por defecto es TopDirectoryOnly.
Devoluciones
Colección enumerable de los nombres completos (incluidas las rutas de acceso) de los directorios del directorio especificado por path y que coinciden con el patrón de búsqueda y la opción de búsqueda especificados.
Excepciones
.NET Framework y .NET Core versiones anteriores a la 2.1: path es una cadena de longitud cero, solo contiene espacios en blanco o contiene caracteres no válidos. Puede consultar caracteres no válidos mediante el método GetInvalidPathChars().
O bien
searchPattern no contiene un patrón válido.
searchOption no es un valor válido SearchOption .
path no es válido, como hacer referencia a una unidad no asignada.
path es un nombre de archivo.
La ruta de acceso especificada, el nombre de archivo o la combinación superan la longitud máxima definida por el sistema.
El autor de la llamada no tiene el permiso necesario.
El autor de la llamada no tiene el permiso necesario.
Ejemplos
En el ejemplo siguiente se enumeran los directorios de una ruta de acceso especificada que coinciden con un patrón de búsqueda especificado. Usa el searchOption parámetro para especificar que todos los subdirectorios deben incluirse en la búsqueda.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
class Program
{
private static void Main(string[] args)
{
try
{
string dirPath = @"\\archives\2009\reports";
// LINQ query.
var dirs = from dir in
Directory.EnumerateDirectories(dirPath, "dv_*",
SearchOption.AllDirectories)
select dir;
// Show results.
foreach (var dir in dirs)
{
// Remove path information from string.
Console.WriteLine("{0}",
dir.Substring(dir.LastIndexOf("\\") + 1));
}
Console.WriteLine("{0} directories found.",
dirs.Count<string>().ToString());
// Optionally create a List collection.
List<string> workDirs = new List<string>(dirs);
}
catch (UnauthorizedAccessException UAEx)
{
Console.WriteLine(UAEx.Message);
}
catch (PathTooLongException PathEx)
{
Console.WriteLine(PathEx.Message);
}
}
}
open System
open System.IO
try
let dirPath = @"\\archives\2009\reports"
let dirs =
Directory.EnumerateDirectories(dirPath, "dv_*", SearchOption.AllDirectories)
|> Seq.cache
// Show results.
for dir in dirs do
// Remove path information from string.
printfn $"{dir.Substring(dir.LastIndexOf '\\' + 1)}"
printfn $"{Seq.length dirs} directories found."
// Optionally create a List collection.
let workDirs = Seq.toList dirs
()
with
| :? UnauthorizedAccessException as uaEx ->
printfn $"{uaEx.Message}"
| :? PathTooLongException as pathEx ->
printfn $"{pathEx.Message}"
Imports System.Collections.Generic
Imports System.IO
Imports System.Linq
Module Module1
Sub Main()
Try
Dim dirPath As String = "\\archives\2009\reports"
' LINQ query.
Dim dirs = From folder In _
Directory.EnumerateDirectories(dirPath, "dv_*", _
SearchOption.AllDirectories)
For Each folder In dirs
' Remove path infomration from string.
Console.WriteLine("{0}", _
folder.Substring(folder.LastIndexOf("\") + 1))
Next
Console.WriteLine("{0} directories found.", _
dirs.Count.ToString())
' Optionally create a List collection.
Dim workDirs As List(Of String) = New List(Of String)
Catch UAEx As UnauthorizedAccessException
Console.WriteLine(UAEx.Message)
Catch PathEx As PathTooLongException
Console.WriteLine(PathEx.Message)
End Try
End Sub
End Module
Comentarios
searchPattern puede ser una combinación de caracteres literales y comodín, pero no admite expresiones regulares. Los siguientes especificadores de caracteres comodín se permiten en searchPattern.
| Especificador de caracteres comodín | Coincidencias |
|---|---|
| * (asterisco) | Cero o más caracteres en esa posición. |
| ? (signo de interrogación) | Exactamente un carácter en esa posición. |
Los caracteres distintos del carácter comodín son caracteres literales. Por ejemplo, la searchPattern cadena "*t" busca todos los nombres al path terminar con la letra "t". La searchPattern cadena "s*" busca todos los nombres a path partir de la letra "s".
searchPattern no puede terminar en dos puntos ("..") ni contener dos puntos ("..") seguidos de DirectorySeparatorChar o AltDirectorySeparatorChar, ni puede contener caracteres no válidos. Puede consultar caracteres no válidos mediante el método GetInvalidPathChars.
Puede especificar información de ruta de acceso relativa o absoluta en el path parámetro . La información de ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual, que puede determinar mediante el GetCurrentDirectory método . Los nombres de directorio devueltos tienen como prefijo el valor que proporcionó en el path parámetro . Por ejemplo, si proporciona una ruta de acceso relativa en el path parámetro , los nombres de directorio devueltos contendrán una ruta de acceso relativa.
Los EnumerateDirectories métodos y GetDirectories difieren de la siguiente manera: Cuando se usa EnumerateDirectories, puede empezar a enumerar la colección de nombres antes de que se devuelva toda la colección; cuando se usa GetDirectories, debe esperar a que se devuelva toda la matriz de nombres para poder tener acceso a la matriz. Por lo tanto, cuando se trabaja con muchos archivos y directorios, EnumerateDirectories puede ser más eficaz.
La colección devuelta no se almacena en caché; cada llamada a en GetEnumerator la colección iniciará una nueva enumeración.