Directory.GetFileSystemEntries 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 los nombres de todos los archivos y subdirectorios que cumplen los criterios especificados.
Sobrecargas
| Nombre | Description |
|---|---|
| GetFileSystemEntries(String) |
Devuelve los nombres de todos los archivos y subdirectorios de una ruta de acceso especificada. |
| GetFileSystemEntries(String, String) |
Devuelve una matriz de nombres de archivo y nombres de directorio que coinciden con un patrón de búsqueda en una ruta de acceso especificada. |
| GetFileSystemEntries(String, String, EnumerationOptions) |
Devuelve una matriz de nombres de archivo y nombres de directorio que coinciden con un patrón de búsqueda y opciones de enumeración en una ruta de acceso especificada. |
| GetFileSystemEntries(String, String, SearchOption) |
Devuelve una matriz de todos los nombres de archivo y nombres de directorio que coinciden con un patrón de búsqueda en una ruta de acceso especificada y, opcionalmente, busca en subdirectorios. |
GetFileSystemEntries(String)
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
Devuelve los nombres de todos los archivos y subdirectorios de una ruta de acceso especificada.
public:
static cli::array <System::String ^> ^ GetFileSystemEntries(System::String ^ path);
public static string[] GetFileSystemEntries(string path);
static member GetFileSystemEntries : string -> string[]
Public Shared Function GetFileSystemEntries (path As String) As 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
Matriz de los nombres de archivos y subdirectorios en el directorio especificado, o una matriz vacía si no se encuentran archivos o subdirectorios.
Excepciones
El autor de la llamada no tiene el permiso necesario.
Versiones de .NET Framework y .NET Core anteriores a la 2.1: path es una cadena de longitud cero, solo contiene espacios en blanco o contiene uno o varios caracteres no válidos. Puede consultar caracteres no válidos con GetInvalidPathChars().
path es null.
La ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.
path es un nombre de archivo.
La ruta de acceso especificada no es válida (por ejemplo, está en una unidad no asignada).
Ejemplos
En el ejemplo siguiente se usa el método para rellenar una matriz de cadenas con los nombres de todos los archivos y subdirectorios en una ubicación especificada por el GetFileSystemEntries usuario e imprime cada cadena de la matriz en la consola. El ejemplo está configurado para detectar todos los errores comunes a 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.");
}
}
}
}
open System
open System.IO
open System.Security
let printFileSystemEntries path =
try
// Obtain the file system entries in the directory path.
let directoryEntries = Directory.GetFileSystemEntries path
for str in directoryEntries do
printfn $"{str}"
with
| :? ArgumentNullException ->
printfn "Path is a null reference."
| :? SecurityException ->
printfn $"The caller does not have the required permission."
| :? ArgumentException ->
printfn $"Path is an empty string, contains only white spaces, or contains invalid characters."
| :? DirectoryNotFoundException ->
printfn $"The path encapsulated in the Directory object does not exist."
let printFileSystemEntriesPattern path pattern =
try
// Obtain the file system entries in the directory
// path that match the pattern.
let directoryEntries = Directory.GetFileSystemEntries(path, pattern)
for str in directoryEntries do
printfn $"{str}"
with
| :? ArgumentNullException -> printfn "Path is a null reference."
| :? SecurityException -> printfn "The caller does not have the required permission."
| :? ArgumentException -> printfn "Path is an empty string, contains only white spaces, or contains invalid characters."
| :? DirectoryNotFoundException -> printfn "The path encapsulated in the Directory object does not exist."
// Print out all logical drives on the system.
let getLogicalDrives () =
try
let drives = Directory.GetLogicalDrives()
for str in drives do
printfn $"{str}"
with
| :? IOException -> printfn "An I/O error occurs."
| :? SecurityException -> printfn "The caller does not have the required permission."
let getParent path =
try
let directoryInfo = Directory.GetParent path
printfn $"{directoryInfo.FullName}"
with
| :? ArgumentNullException -> printfn "Path is a null reference."
| :? ArgumentException -> printfn "Path is an empty string, contains only white spaces, or contains invalid characters."
let move sourcePath destinationPath =
try
Directory.Move(sourcePath, destinationPath)
printfn "The directory move is complete."
with
| :? ArgumentNullException -> printfn "Path is a null reference."
| :? SecurityException -> printfn "The caller does not have the required permission."
| :? ArgumentException -> printfn "Path is an empty string, contains only white spaces, or contains invalid characters."
| :? IOException -> printfn "An attempt was made to move a directory to a different volume, or destDirName already exists."
let path = Directory.GetCurrentDirectory()
let filter = "*.exe"
printFileSystemEntries path
printFileSystemEntriesPattern path filter
getLogicalDrives ()
getParent path
move "C:\\proof" "C:\\Temp"
Option Explicit On
Option Strict On
Namespace GetFileSystemEntries
Class Class1
Overloads Shared Sub Main(ByVal args() As String)
Dim snippets As New Class1()
Dim path As String = System.IO.Directory.GetCurrentDirectory()
Dim filter As String = "*.exe"
snippets.PrintFileSystemEntries(path)
snippets.PrintFileSystemEntries(path, filter)
snippets.GetLogicalDrives()
snippets.GetParent(path)
snippets.Move("C:\proof", "C:\Temp")
End Sub
Sub PrintFileSystemEntries(ByVal path As String)
Try
' Obtain the file system entries in the directory path.
Dim directoryEntries As String()
directoryEntries = System.IO.Directory.GetFileSystemEntries(path)
Dim str As String
For Each str In directoryEntries
System.Console.WriteLine(str)
Next str
Catch exp As ArgumentNullException
System.Console.WriteLine("Path is a null reference.")
Catch exp As System.Security.SecurityException
System.Console.WriteLine("The caller does not have the " + _
"required permission.")
Catch exp As ArgumentException
System.Console.WriteLine("Path is an empty string, " + _
"contains only white spaces, " + _
"or contains invalid characters.")
Catch exp As System.IO.DirectoryNotFoundException
System.Console.WriteLine("The path encapsulated in the " + _
"Directory object does not exist.")
End Try
End Sub
Sub PrintFileSystemEntries(ByVal path As String, _
ByVal pattern As String)
Try
' Obtain the file system entries in the directory
' path that match the pattern.
Dim directoryEntries As String()
directoryEntries = _
System.IO.Directory.GetFileSystemEntries(path, pattern)
Dim str As String
For Each str In directoryEntries
System.Console.WriteLine(str)
Next str
Catch exp As ArgumentNullException
System.Console.WriteLine("Path is a null reference.")
Catch exp As System.Security.SecurityException
System.Console.WriteLine("The caller does not have the " + _
"required permission.")
Catch exp As ArgumentException
System.Console.WriteLine("Path is an empty string, " + _
"contains only white spaces, " + _
"or contains invalid characters.")
Catch exp As System.IO.DirectoryNotFoundException
System.Console.WriteLine("The path encapsulated in the " + _
"Directory object does not exist.")
End Try
End Sub
' Print out all logical drives on the system.
Sub GetLogicalDrives()
Try
Dim drives As String()
drives = System.IO.Directory.GetLogicalDrives()
Dim str As String
For Each str In drives
System.Console.WriteLine(str)
Next str
Catch exp As System.IO.IOException
System.Console.WriteLine("An I/O error occurs.")
Catch exp As System.Security.SecurityException
System.Console.WriteLine("The caller does not have the " + _
"required permission.")
End Try
End Sub
Sub GetParent(ByVal path As String)
Try
Dim directoryInfo As System.IO.DirectoryInfo
directoryInfo = System.IO.Directory.GetParent(path)
System.Console.WriteLine(directoryInfo.FullName)
Catch exp As ArgumentNullException
System.Console.WriteLine("Path is a null reference.")
Catch exp As ArgumentException
System.Console.WriteLine("Path is an empty string, " + _
"contains only white spaces, or " + _
"contains invalid characters.")
End Try
End Sub
Sub Move(ByVal sourcePath As String, ByVal destinationPath As String)
Try
System.IO.Directory.Move(sourcePath, destinationPath)
System.Console.WriteLine("The directory move is complete.")
Catch exp As ArgumentNullException
System.Console.WriteLine("Path is a null reference.")
Catch exp As System.Security.SecurityException
System.Console.WriteLine("The caller does not have the " + _
"required permission.")
Catch exp As ArgumentException
System.Console.WriteLine("Path is an empty string, " + _
"contains only white spaces, " + _
"or contains invalid characters.")
Catch exp As System.IO.IOException
System.Console.WriteLine("An attempt was made to move a " + _
"directory to a different " + _
"volume, or destDirName " + _
"already exists.")
End Try
End Sub
End Class
End Namespace
Comentarios
No se garantiza el orden de los nombres de archivo y directorio devueltos; use el Sort método si se requiere un criterio de ordenación específico.
Los EnumerateFileSystemEntries métodos y GetFileSystemEntries difieren de la siguiente manera: cuando se usa EnumerateFileSystemEntries, puede empezar a enumerar la colección de entradas antes de que se devuelva toda la colección; cuando se usa GetFileSystemEntries, debe esperar a que se devuelva toda la matriz de entradas antes de poder tener acceso a la matriz. Por lo tanto, cuando se trabaja con muchos archivos y directorios, EnumerateFileSystemEntries puede ser más eficaz.
Este método es idéntico a GetFileSystemEntries con el asterisco (*) especificado como patrón de búsqueda.
El path parámetro puede especificar información de ruta de acceso relativa o absoluta. La información de ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual. Para obtener el directorio de trabajo actual, consulte GetCurrentDirectory.
La distinción entre mayúsculas y minúsculas del path parámetro corresponde al del sistema de archivos en el que se ejecuta el código. Por ejemplo, no distingue mayúsculas de minúsculas en NTFS (el sistema de archivos de Windows predeterminado) y distingue mayúsculas de minúsculas en sistemas de archivos Linux.
Para obtener una lista de tareas comunes de E/S, consulte Tareas comunes de E/S.
Consulte también
- FileSystemWatcher
- FileSystemInfo
- E/S de archivos y secuencias
- Cómo: Leer texto de un archivo
- Cómo: Escribir texto en un archivo
Se aplica a
GetFileSystemEntries(String, String)
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
Devuelve una matriz de nombres de archivo y nombres de directorio que coinciden con un patrón de búsqueda en una ruta de acceso especificada.
public:
static cli::array <System::String ^> ^ GetFileSystemEntries(System::String ^ path, System::String ^ searchPattern);
public static string[] GetFileSystemEntries(string path, string searchPattern);
static member GetFileSystemEntries : string * string -> string[]
Public Shared Function GetFileSystemEntries (path As String, searchPattern As String) As 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 los archivos y 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
Matriz de nombres de archivo y nombres de directorio que coinciden con los criterios de búsqueda especificados o una matriz vacía si no se encuentran archivos o directorios.
Excepciones
El autor de la llamada no tiene el permiso necesario.
Versiones de .NET Framework y .NET Core anteriores a la 2.1: path es una cadena de longitud cero, solo contiene espacios en blanco o contiene uno o varios 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 o searchPattern es null.
La ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.
path es un nombre de archivo.
La ruta de acceso especificada no es válida (por ejemplo, está en una unidad no asignada).
Ejemplos
En el ejemplo siguiente se usa el GetFileSystemEntries método para rellenar una matriz de cadenas con los nombres de todos los archivos que coinciden 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 está configurado para detectar todos los errores comunes a 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.");
}
}
}
}
open System
open System.IO
open System.Security
let printFileSystemEntries path =
try
// Obtain the file system entries in the directory path.
let directoryEntries = Directory.GetFileSystemEntries path
for str in directoryEntries do
printfn $"{str}"
with
| :? ArgumentNullException ->
printfn "Path is a null reference."
| :? SecurityException ->
printfn $"The caller does not have the required permission."
| :? ArgumentException ->
printfn $"Path is an empty string, contains only white spaces, or contains invalid characters."
| :? DirectoryNotFoundException ->
printfn $"The path encapsulated in the Directory object does not exist."
let printFileSystemEntriesPattern path pattern =
try
// Obtain the file system entries in the directory
// path that match the pattern.
let directoryEntries = Directory.GetFileSystemEntries(path, pattern)
for str in directoryEntries do
printfn $"{str}"
with
| :? ArgumentNullException -> printfn "Path is a null reference."
| :? SecurityException -> printfn "The caller does not have the required permission."
| :? ArgumentException -> printfn "Path is an empty string, contains only white spaces, or contains invalid characters."
| :? DirectoryNotFoundException -> printfn "The path encapsulated in the Directory object does not exist."
// Print out all logical drives on the system.
let getLogicalDrives () =
try
let drives = Directory.GetLogicalDrives()
for str in drives do
printfn $"{str}"
with
| :? IOException -> printfn "An I/O error occurs."
| :? SecurityException -> printfn "The caller does not have the required permission."
let getParent path =
try
let directoryInfo = Directory.GetParent path
printfn $"{directoryInfo.FullName}"
with
| :? ArgumentNullException -> printfn "Path is a null reference."
| :? ArgumentException -> printfn "Path is an empty string, contains only white spaces, or contains invalid characters."
let move sourcePath destinationPath =
try
Directory.Move(sourcePath, destinationPath)
printfn "The directory move is complete."
with
| :? ArgumentNullException -> printfn "Path is a null reference."
| :? SecurityException -> printfn "The caller does not have the required permission."
| :? ArgumentException -> printfn "Path is an empty string, contains only white spaces, or contains invalid characters."
| :? IOException -> printfn "An attempt was made to move a directory to a different volume, or destDirName already exists."
let path = Directory.GetCurrentDirectory()
let filter = "*.exe"
printFileSystemEntries path
printFileSystemEntriesPattern path filter
getLogicalDrives ()
getParent path
move "C:\\proof" "C:\\Temp"
Option Explicit On
Option Strict On
Namespace GetFileSystemEntries
Class Class1
Overloads Shared Sub Main(ByVal args() As String)
Dim snippets As New Class1()
Dim path As String = System.IO.Directory.GetCurrentDirectory()
Dim filter As String = "*.exe"
snippets.PrintFileSystemEntries(path)
snippets.PrintFileSystemEntries(path, filter)
snippets.GetLogicalDrives()
snippets.GetParent(path)
snippets.Move("C:\proof", "C:\Temp")
End Sub
Sub PrintFileSystemEntries(ByVal path As String)
Try
' Obtain the file system entries in the directory path.
Dim directoryEntries As String()
directoryEntries = System.IO.Directory.GetFileSystemEntries(path)
Dim str As String
For Each str In directoryEntries
System.Console.WriteLine(str)
Next str
Catch exp As ArgumentNullException
System.Console.WriteLine("Path is a null reference.")
Catch exp As System.Security.SecurityException
System.Console.WriteLine("The caller does not have the " + _
"required permission.")
Catch exp As ArgumentException
System.Console.WriteLine("Path is an empty string, " + _
"contains only white spaces, " + _
"or contains invalid characters.")
Catch exp As System.IO.DirectoryNotFoundException
System.Console.WriteLine("The path encapsulated in the " + _
"Directory object does not exist.")
End Try
End Sub
Sub PrintFileSystemEntries(ByVal path As String, _
ByVal pattern As String)
Try
' Obtain the file system entries in the directory
' path that match the pattern.
Dim directoryEntries As String()
directoryEntries = _
System.IO.Directory.GetFileSystemEntries(path, pattern)
Dim str As String
For Each str In directoryEntries
System.Console.WriteLine(str)
Next str
Catch exp As ArgumentNullException
System.Console.WriteLine("Path is a null reference.")
Catch exp As System.Security.SecurityException
System.Console.WriteLine("The caller does not have the " + _
"required permission.")
Catch exp As ArgumentException
System.Console.WriteLine("Path is an empty string, " + _
"contains only white spaces, " + _
"or contains invalid characters.")
Catch exp As System.IO.DirectoryNotFoundException
System.Console.WriteLine("The path encapsulated in the " + _
"Directory object does not exist.")
End Try
End Sub
' Print out all logical drives on the system.
Sub GetLogicalDrives()
Try
Dim drives As String()
drives = System.IO.Directory.GetLogicalDrives()
Dim str As String
For Each str In drives
System.Console.WriteLine(str)
Next str
Catch exp As System.IO.IOException
System.Console.WriteLine("An I/O error occurs.")
Catch exp As System.Security.SecurityException
System.Console.WriteLine("The caller does not have the " + _
"required permission.")
End Try
End Sub
Sub GetParent(ByVal path As String)
Try
Dim directoryInfo As System.IO.DirectoryInfo
directoryInfo = System.IO.Directory.GetParent(path)
System.Console.WriteLine(directoryInfo.FullName)
Catch exp As ArgumentNullException
System.Console.WriteLine("Path is a null reference.")
Catch exp As ArgumentException
System.Console.WriteLine("Path is an empty string, " + _
"contains only white spaces, or " + _
"contains invalid characters.")
End Try
End Sub
Sub Move(ByVal sourcePath As String, ByVal destinationPath As String)
Try
System.IO.Directory.Move(sourcePath, destinationPath)
System.Console.WriteLine("The directory move is complete.")
Catch exp As ArgumentNullException
System.Console.WriteLine("Path is a null reference.")
Catch exp As System.Security.SecurityException
System.Console.WriteLine("The caller does not have the " + _
"required permission.")
Catch exp As ArgumentException
System.Console.WriteLine("Path is an empty string, " + _
"contains only white spaces, " + _
"or contains invalid characters.")
Catch exp As System.IO.IOException
System.Console.WriteLine("An attempt was made to move a " + _
"directory to a different " + _
"volume, or destDirName " + _
"already exists.")
End Try
End Sub
End Class
End Namespace
Comentarios
No se garantiza el orden de los nombres de archivo y directorio devueltos; use el Sort método si se requiere un criterio de ordenación específico.
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.
Note
Cuando se usa el carácter comodín asterisco en un searchPattern comodín como "*.txt", el número de caracteres de la extensión especificada afecta a la búsqueda de la siguiente manera:
- Si la extensión especificada tiene exactamente tres caracteres, el método devuelve archivos con extensiones que comienzan con la extensión especificada. Por ejemplo, "*.xls" devuelve "book.xls" y "book.xlsx".
- En todos los demás casos, el método devuelve archivos que coinciden exactamente con la extensión especificada. Por ejemplo, "*.ai" devuelve "file.ai", pero no "file.aif".
Cuando se usa el carácter comodín de signo de interrogación, este método devuelve solo los archivos que coinciden con la extensión de archivo especificada. Por ejemplo, dados dos archivos, "file1.txt" y "file1.txtother", en un directorio, un patrón de búsqueda de "file?.txt" devuelve solo el primer archivo, mientras que un patrón de búsqueda de "file*.txt" devuelve ambos archivos.
El path parámetro puede especificar información de ruta de acceso relativa o absoluta. La información de ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual. Para obtener el directorio de trabajo actual, consulte GetCurrentDirectory.
La distinción entre mayúsculas y minúsculas del path parámetro corresponde al del sistema de archivos en el que se ejecuta el código. Por ejemplo, no distingue mayúsculas de minúsculas en NTFS (el sistema de archivos de Windows predeterminado) y distingue mayúsculas de minúsculas en sistemas de archivos Linux.
Para obtener una lista de tareas comunes de E/S, consulte Tareas comunes de E/S.
Consulte también
- FileSystemInfo
- FileSystemWatcher
- E/S de archivos y secuencias
- Cómo: Leer texto de un archivo
- Cómo: Escribir texto en un archivo
Se aplica a
GetFileSystemEntries(String, String, EnumerationOptions)
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
Devuelve una matriz de nombres de archivo y nombres de directorio que coinciden con un patrón de búsqueda y opciones de enumeración en una ruta de acceso especificada.
public:
static cli::array <System::String ^> ^ GetFileSystemEntries(System::String ^ path, System::String ^ searchPattern, System::IO::EnumerationOptions ^ enumerationOptions);
public static string[] GetFileSystemEntries(string path, string searchPattern, System.IO.EnumerationOptions enumerationOptions);
static member GetFileSystemEntries : string * string * System.IO.EnumerationOptions -> string[]
Public Shared Function GetFileSystemEntries (path As String, searchPattern As String, enumerationOptions As EnumerationOptions) As 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 los archivos y directorios de path. Este parámetro puede contener una combinación de caracteres literales y comodín válidos, 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
Matriz de nombres de archivo y nombres de directorio que coinciden con las opciones de enumeración y el patrón de búsqueda especificados, o una matriz vacía si no se encuentran archivos o directorios.
Excepciones
El autor de la llamada no tiene el permiso necesario.
Versiones de .NET Framework y .NET Core anteriores a la 2.1: path es una cadena de longitud cero, solo contiene espacios en blanco o contiene uno o varios 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 o searchPattern es null.
La ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.
path es un nombre de archivo.
La ruta de acceso especificada no es válida (por ejemplo, está en una unidad no asignada).
Comentarios
No se garantiza el orden de los nombres de archivo y directorio devueltos; use el Sort método si se requiere un criterio de ordenación específico.
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.
Note
Cuando se usa el carácter comodín asterisco en un searchPattern comodín como "*.txt", el número de caracteres de la extensión especificada afecta a la búsqueda de la siguiente manera:
- Si la extensión especificada tiene exactamente tres caracteres, el método devuelve archivos con extensiones que comienzan con la extensión especificada. Por ejemplo, "*.xls" devuelve "book.xls" y "book.xlsx".
- En todos los demás casos, el método devuelve archivos que coinciden exactamente con la extensión especificada. Por ejemplo, "*.ai" devuelve "file.ai", pero no "file.aif".
Cuando se usa el carácter comodín de signo de interrogación, este método devuelve solo los archivos que coinciden con la extensión de archivo especificada. Por ejemplo, dados dos archivos, "file1.txt" y "file1.txtother", en un directorio, un patrón de búsqueda de "file?.txt" devuelve solo el primer archivo, mientras que un patrón de búsqueda de "file*.txt" devuelve ambos archivos.
El path parámetro puede especificar información de ruta de acceso relativa o absoluta. La información de ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual. Para obtener el directorio de trabajo actual, consulte GetCurrentDirectory.
La distinción entre mayúsculas y minúsculas del path parámetro corresponde al del sistema de archivos en el que se ejecuta el código. Por ejemplo, no distingue mayúsculas de minúsculas en NTFS (el sistema de archivos de Windows predeterminado) y distingue mayúsculas de minúsculas en sistemas de archivos Linux.
Para obtener una lista de tareas comunes de E/S, consulte Tareas comunes de E/S.
Se aplica a
GetFileSystemEntries(String, String, SearchOption)
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
Devuelve una matriz de todos los nombres de archivo y nombres de directorio que coinciden con un patrón de búsqueda en una ruta de acceso especificada y, opcionalmente, busca en subdirectorios.
public:
static cli::array <System::String ^> ^ GetFileSystemEntries(System::String ^ path, System::String ^ searchPattern, System::IO::SearchOption searchOption);
public static string[] GetFileSystemEntries(string path, string searchPattern, System.IO.SearchOption searchOption);
static member GetFileSystemEntries : string * string * System.IO.SearchOption -> string[]
Public Shared Function GetFileSystemEntries (path As String, searchPattern As String, searchOption As SearchOption) As 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 los archivos y 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
Matriz de archivos de los nombres de archivo y los nombres de directorio que coinciden con los criterios de búsqueda especificados o una matriz vacía si no se encuentran archivos o directorios.
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.
Comentarios
No se garantiza el orden de los nombres de archivo y directorio devueltos; use el Sort método si se requiere un criterio de ordenación específico.
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.
Note
Cuando se usa el carácter comodín asterisco en un searchPattern comodín como "*.txt", el número de caracteres de la extensión especificada afecta a la búsqueda de la siguiente manera:
- Si la extensión especificada tiene exactamente tres caracteres, el método devuelve archivos con extensiones que comienzan con la extensión especificada. Por ejemplo, "*.xls" devuelve "book.xls" y "book.xlsx".
- En todos los demás casos, el método devuelve archivos que coinciden exactamente con la extensión especificada. Por ejemplo, "*.ai" devuelve "file.ai", pero no "file.aif".
Cuando se usa el carácter comodín de signo de interrogación, este método devuelve solo los archivos que coinciden con la extensión de archivo especificada. Por ejemplo, dados dos archivos, "file1.txt" y "file1.txtother", en un directorio, un patrón de búsqueda de "file?.txt" devuelve solo el primer archivo, mientras que un patrón de búsqueda de "file*.txt" devuelve ambos archivos.
Los EnumerateFileSystemEntries métodos y GetFileSystemEntries difieren de la siguiente manera: cuando se usa EnumerateFileSystemEntries, puede empezar a enumerar la colección de entradas antes de que se devuelva toda la colección; cuando se usa GetFileSystemEntries, debe esperar a que se devuelva toda la matriz de entradas antes de poder tener acceso a la matriz. Por lo tanto, cuando se trabaja con muchos archivos y directorios, EnumerateFileSystemEntries puede ser más eficaz.
Puede especificar información de ruta de acceso relativa con 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 .