Directory.GetFileSystemEntries Método

Definição

Retorna os nomes de todos os arquivos e subdiretórios que atendem aos critérios especificados.

Sobrecargas

Nome Description
GetFileSystemEntries(String)

Retorna os nomes de todos os arquivos e subdiretórios em um caminho especificado.

GetFileSystemEntries(String, String)

Retorna uma matriz de nomes de arquivo e nomes de diretório que correspondem a um padrão de pesquisa em um caminho especificado.

GetFileSystemEntries(String, String, EnumerationOptions)

Retorna uma matriz de nomes de arquivo e nomes de diretório que correspondem a um padrão de pesquisa e opções de enumeração em um caminho especificado.

GetFileSystemEntries(String, String, SearchOption)

Retorna uma matriz de todos os nomes de arquivo e nomes de diretório que correspondem a um padrão de pesquisa em um caminho especificado e, opcionalmente, pesquisa subdiretórios.

GetFileSystemEntries(String)

Origem:
Directory.cs
Origem:
Directory.cs
Origem:
Directory.cs
Origem:
Directory.cs
Origem:
Directory.cs

Retorna os nomes de todos os arquivos e subdiretórios em um caminho especificado.

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

O caminho relativo ou absoluto para o diretório a ser pesquisado. Essa cadeia de caracteres não diferencia maiúsculas de minúsculas.

Retornos

String[]

Uma matriz de nomes de arquivos e subdiretórios no diretório especificado ou uma matriz vazia se nenhum arquivo ou subdiretórios for encontrado.

Exceções

O chamador não tem a permissão necessária.

Versões do .NET Framework e do .NET Core anteriores à 2.1: path é uma cadeia de caracteres de comprimento zero, contém apenas espaço em branco ou contém um ou mais caracteres inválidos. Você pode consultar caracteres inválidos com GetInvalidPathChars().

path é null.

O caminho especificado, o nome do arquivo ou ambos excedem o comprimento máximo definido pelo sistema.

path é um nome de arquivo.

O caminho especificado é inválido (por exemplo, ele está em uma unidade não mapeada).

Exemplos

O exemplo a seguir usa o GetFileSystemEntries método para preencher uma matriz de cadeias de caracteres com os nomes de todos os arquivos e subdiretórios em um local especificado pelo usuário e imprime cada cadeia de caracteres na matriz para o console. O exemplo é configurado para capturar todos os erros comuns a esse 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

Comentários

A ordem dos nomes de arquivo e diretório retornados não é garantida; use o Sort método se uma ordem de classificação específica for necessária.

Os EnumerateFileSystemEntries métodos e GetFileSystemEntries os métodos diferem da seguinte maneira: quando você usa EnumerateFileSystemEntries, você pode começar a enumerar a coleção de entradas antes que toda a coleção seja retornada; quando você usar GetFileSystemEntries, deverá aguardar que toda a matriz de entradas seja retornada antes de poder acessar a matriz. Portanto, quando você está trabalhando com muitos arquivos e diretórios, EnumerateFileSystemEntries pode ser mais eficiente.

Esse método é idêntico ao GetFileSystemEntries do asterisco (*) especificado como o padrão de pesquisa.

O path parâmetro tem permissão para especificar informações de caminho relativas ou absolutas. As informações de caminho relativo são interpretadas como relativas ao diretório de trabalho atual. Para obter o diretório de trabalho atual, consulte GetCurrentDirectory.

A confidencialidade de maiúsculas e minúsculas do path parâmetro corresponde à do sistema de arquivos no qual o código está em execução. Por exemplo, não diferencia maiúsculas de minúsculas no NTFS (o sistema de arquivos padrão do Windows) e diferencia maiúsculas de minúsculas em sistemas de arquivos Linux.

Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.

Confira também

Aplica-se a

GetFileSystemEntries(String, String)

Origem:
Directory.cs
Origem:
Directory.cs
Origem:
Directory.cs
Origem:
Directory.cs
Origem:
Directory.cs

Retorna uma matriz de nomes de arquivo e nomes de diretório que correspondem a um padrão de pesquisa em um caminho especificado.

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

O caminho relativo ou absoluto para o diretório a ser pesquisado. Essa cadeia de caracteres não diferencia maiúsculas de minúsculas.

searchPattern
String

A cadeia de caracteres de pesquisa a ser correspondida com os nomes de arquivos e diretórios em path. Esse parâmetro pode conter uma combinação de caracteres de caminho literal válido e curinga (* e ?), mas não dá suporte a expressões regulares.

Retornos

String[]

Uma matriz de nomes de arquivo e nomes de diretório que correspondem aos critérios de pesquisa especificados ou a uma matriz vazia se nenhum arquivo ou diretório for encontrado.

Exceções

O chamador não tem a permissão necessária.

Versões do .NET Framework e do .NET Core anteriores à 2.1: path é uma cadeia de caracteres de comprimento zero, contém apenas espaço em branco ou contém um ou mais caracteres inválidos. Você pode consultar caracteres inválidos com o GetInvalidPathChars() método.

- ou -

searchPattern não contém um padrão válido.

path ou searchPattern é null.

O caminho especificado, o nome do arquivo ou ambos excedem o comprimento máximo definido pelo sistema.

path é um nome de arquivo.

O caminho especificado é inválido (por exemplo, ele está em uma unidade não mapeada).

Exemplos

O exemplo a seguir usa o GetFileSystemEntries método para preencher uma matriz de cadeias de caracteres com os nomes de todos os arquivos correspondentes a um filtro especificado pelo usuário em um local específico e imprime cada cadeia de caracteres na matriz para o console. O exemplo é configurado para capturar todos os erros comuns a esse 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

Comentários

A ordem dos nomes de arquivo e diretório retornados não é garantida; use o Sort método se uma ordem de classificação específica for necessária.

searchPattern pode ser uma combinação de caracteres literais e curinga, mas não dá suporte a expressões regulares. Os especificadores curinga a seguir são permitidos em searchPattern.

Especificador curinga Partidas
* (asterisco) Zero ou mais caracteres nessa posição.
? (ponto de interrogação) Exatamente um caractere nessa posição.

Caracteres diferentes do curinga são caracteres literais. Por exemplo, a searchPattern cadeia de caracteres "*t" pesquisa todos os nomes ao path terminar com a letra "t". A searchPattern cadeia de caracteres "s*" pesquisa todos os nomes no path início com a letra "s".

searchPattern não pode terminar em dois períodos ("..") ou conter dois períodos ("..") seguidos ou DirectorySeparatorCharAltDirectorySeparatorChar, nem pode conter caracteres inválidos. Você pode consultar caracteres inválidos usando o GetInvalidPathChars método.

Note

Quando você usa o caractere curinga do asterisco em um searchPattern caractere curinga como "*.txt", o número de caracteres na extensão especificada afeta a pesquisa da seguinte maneira:

  • Se a extensão especificada tiver exatamente três caracteres, o método retornará arquivos com extensões que começam com a extensão especificada. Por exemplo, "*.xls" retorna "book.xls" e "book.xlsx".
  • Em todos os outros casos, o método retorna arquivos que correspondem exatamente à extensão especificada. Por exemplo, "*.ai" retorna "file.ai", mas não "file.aif".

Quando você usa o caractere curinga de ponto de interrogação, esse método retorna apenas arquivos que correspondem à extensão de arquivo especificada. Por exemplo, dado dois arquivos, "file1.txt" e "file1.txtother", em um diretório, um padrão de pesquisa de "arquivo?.txt" retorna apenas o primeiro arquivo, enquanto um padrão de pesquisa de "file*.txt" retorna ambos os arquivos.

O path parâmetro tem permissão para especificar informações de caminho relativas ou absolutas. As informações de caminho relativo são interpretadas como relativas ao diretório de trabalho atual. Para obter o diretório de trabalho atual, consulte GetCurrentDirectory.

A confidencialidade de maiúsculas e minúsculas do path parâmetro corresponde à do sistema de arquivos no qual o código está em execução. Por exemplo, não diferencia maiúsculas de minúsculas no NTFS (o sistema de arquivos padrão do Windows) e diferencia maiúsculas de minúsculas em sistemas de arquivos Linux.

Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.

Confira também

Aplica-se a

GetFileSystemEntries(String, String, EnumerationOptions)

Origem:
Directory.cs
Origem:
Directory.cs
Origem:
Directory.cs
Origem:
Directory.cs
Origem:
Directory.cs

Retorna uma matriz de nomes de arquivo e nomes de diretório que correspondem a um padrão de pesquisa e opções de enumeração em um caminho especificado.

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

O caminho relativo ou absoluto para o diretório a ser pesquisado. Essa cadeia de caracteres não diferencia maiúsculas de minúsculas.

searchPattern
String

A cadeia de caracteres de pesquisa a ser correspondida com os nomes de arquivos e diretórios em path. Esse parâmetro pode conter uma combinação de caracteres literais e curinga válidos, mas não dá suporte a expressões regulares.

enumerationOptions
EnumerationOptions

Um objeto que descreve a configuração de pesquisa e enumeração a ser usada.

Retornos

String[]

Uma matriz de nomes de arquivo e nomes de diretório que correspondem às opções de enumeração e padrão de pesquisa especificadas ou uma matriz vazia se nenhum arquivo ou diretório for encontrado.

Exceções

O chamador não tem a permissão necessária.

Versões do .NET Framework e do .NET Core anteriores à 2.1: path é uma cadeia de caracteres de comprimento zero, contém apenas espaço em branco ou contém um ou mais caracteres inválidos. Você pode consultar caracteres inválidos com o GetInvalidPathChars() método.

- ou -

searchPattern não contém um padrão válido.

path ou searchPattern é null.

O caminho especificado, o nome do arquivo ou ambos excedem o comprimento máximo definido pelo sistema.

path é um nome de arquivo.

O caminho especificado é inválido (por exemplo, ele está em uma unidade não mapeada).

Comentários

A ordem dos nomes de arquivo e diretório retornados não é garantida; use o Sort método se uma ordem de classificação específica for necessária.

searchPattern pode ser uma combinação de caracteres literais e curinga, mas não dá suporte a expressões regulares. Os especificadores curinga a seguir são permitidos em searchPattern.

Especificador curinga Partidas
* (asterisco) Zero ou mais caracteres nessa posição.
? (ponto de interrogação) Exatamente um caractere nessa posição.

Caracteres diferentes do curinga são caracteres literais. Por exemplo, a searchPattern cadeia de caracteres "*t" pesquisa todos os nomes ao path terminar com a letra "t". A searchPattern cadeia de caracteres "s*" pesquisa todos os nomes no path início com a letra "s".

searchPattern não pode terminar em dois períodos ("..") ou conter dois períodos ("..") seguidos ou DirectorySeparatorCharAltDirectorySeparatorChar, nem pode conter caracteres inválidos. Você pode consultar caracteres inválidos usando o GetInvalidPathChars método.

Note

Quando você usa o caractere curinga do asterisco em um searchPattern caractere curinga como "*.txt", o número de caracteres na extensão especificada afeta a pesquisa da seguinte maneira:

  • Se a extensão especificada tiver exatamente três caracteres, o método retornará arquivos com extensões que começam com a extensão especificada. Por exemplo, "*.xls" retorna "book.xls" e "book.xlsx".
  • Em todos os outros casos, o método retorna arquivos que correspondem exatamente à extensão especificada. Por exemplo, "*.ai" retorna "file.ai", mas não "file.aif".

Quando você usa o caractere curinga de ponto de interrogação, esse método retorna apenas arquivos que correspondem à extensão de arquivo especificada. Por exemplo, dado dois arquivos, "file1.txt" e "file1.txtother", em um diretório, um padrão de pesquisa de "arquivo?.txt" retorna apenas o primeiro arquivo, enquanto um padrão de pesquisa de "file*.txt" retorna ambos os arquivos.

O path parâmetro tem permissão para especificar informações de caminho relativas ou absolutas. As informações de caminho relativo são interpretadas como relativas ao diretório de trabalho atual. Para obter o diretório de trabalho atual, consulte GetCurrentDirectory.

A confidencialidade de maiúsculas e minúsculas do path parâmetro corresponde à do sistema de arquivos no qual o código está em execução. Por exemplo, não diferencia maiúsculas de minúsculas no NTFS (o sistema de arquivos padrão do Windows) e diferencia maiúsculas de minúsculas em sistemas de arquivos Linux.

Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.

Aplica-se a

GetFileSystemEntries(String, String, SearchOption)

Origem:
Directory.cs
Origem:
Directory.cs
Origem:
Directory.cs
Origem:
Directory.cs
Origem:
Directory.cs

Retorna uma matriz de todos os nomes de arquivo e nomes de diretório que correspondem a um padrão de pesquisa em um caminho especificado e, opcionalmente, pesquisa subdiretórios.

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

O caminho relativo ou absoluto para o diretório a ser pesquisado. Essa cadeia de caracteres não diferencia maiúsculas de minúsculas.

searchPattern
String

A cadeia de caracteres de pesquisa a ser correspondida com os nomes de arquivos e diretórios em path. Esse parâmetro pode conter uma combinação de caracteres de caminho literal válido e curinga (* e ?), mas não dá suporte a expressões regulares.

searchOption
SearchOption

Um dos valores de enumeração que especifica se a operação de pesquisa deve incluir apenas o diretório atual ou deve incluir todos os subdiretórios. O valor padrão é TopDirectoryOnly.

Retornos

String[]

Uma matriz de arquivos os nomes de arquivo e os nomes de diretório que correspondem aos critérios de pesquisa especificados ou uma matriz vazia se nenhum arquivo ou diretório for encontrado.

Exceções

.NET Framework e .NET Core versões anteriores à 2.1: path é uma cadeia de caracteres de comprimento zero, contém apenas espaço em branco ou contém caracteres inválidos. Você pode consultar caracteres inválidos usando o GetInvalidPathChars() método.

- ou -

searchPattern não contém um padrão válido.

path é null.

- ou -

searchPattern é null.

searchOption não é um valor válido SearchOption .

path é inválido, como fazer referência a uma unidade não mapeada.

path é um nome de arquivo.

O caminho, o nome do arquivo ou combinado especificado excedem o comprimento máximo definido pelo sistema.

O chamador não tem a permissão necessária.

O chamador não tem a permissão necessária.

Comentários

A ordem dos nomes de arquivo e diretório retornados não é garantida; use o Sort método se uma ordem de classificação específica for necessária.

searchPattern pode ser uma combinação de caracteres literais e curinga, mas não dá suporte a expressões regulares. Os especificadores curinga a seguir são permitidos em searchPattern.

Especificador curinga Partidas
* (asterisco) Zero ou mais caracteres nessa posição.
? (ponto de interrogação) Exatamente um caractere nessa posição.

Caracteres diferentes do curinga são caracteres literais. Por exemplo, a searchPattern cadeia de caracteres "*t" pesquisa todos os nomes ao path terminar com a letra "t". A searchPattern cadeia de caracteres "s*" pesquisa todos os nomes no path início com a letra "s".

searchPattern não pode terminar em dois períodos ("..") ou conter dois períodos ("..") seguidos ou DirectorySeparatorCharAltDirectorySeparatorChar, nem pode conter caracteres inválidos. Você pode consultar caracteres inválidos usando o GetInvalidPathChars método.

Note

Quando você usa o caractere curinga do asterisco em um searchPattern caractere curinga como "*.txt", o número de caracteres na extensão especificada afeta a pesquisa da seguinte maneira:

  • Se a extensão especificada tiver exatamente três caracteres, o método retornará arquivos com extensões que começam com a extensão especificada. Por exemplo, "*.xls" retorna "book.xls" e "book.xlsx".
  • Em todos os outros casos, o método retorna arquivos que correspondem exatamente à extensão especificada. Por exemplo, "*.ai" retorna "file.ai", mas não "file.aif".

Quando você usa o caractere curinga de ponto de interrogação, esse método retorna apenas arquivos que correspondem à extensão de arquivo especificada. Por exemplo, dado dois arquivos, "file1.txt" e "file1.txtother", em um diretório, um padrão de pesquisa de "arquivo?.txt" retorna apenas o primeiro arquivo, enquanto um padrão de pesquisa de "file*.txt" retorna ambos os arquivos.

Os EnumerateFileSystemEntries métodos e GetFileSystemEntries os métodos diferem da seguinte maneira: quando você usa EnumerateFileSystemEntries, você pode começar a enumerar a coleção de entradas antes que toda a coleção seja retornada; quando você usar GetFileSystemEntries, deverá aguardar que toda a matriz de entradas seja retornada antes de poder acessar a matriz. Portanto, quando você está trabalhando com muitos arquivos e diretórios, EnumerateFileSystemEntries pode ser mais eficiente.

Você pode especificar informações de caminho relativo com o path parâmetro. As informações de caminho relativo são interpretadas como relativas ao diretório de trabalho atual, que você pode determinar usando o GetCurrentDirectory método.

Confira também

Aplica-se a