Directory.GetFileSystemEntries Método

Definição

Devolve os nomes de todos os ficheiros e subdiretórios que cumprem critérios especificados.

Sobrecargas

Name Description
GetFileSystemEntries(String)

Devolve os nomes de todos os ficheiros e subdiretórios num caminho especificado.

GetFileSystemEntries(String, String)

Devolve um array de nomes de ficheiros e diretórios que correspondem a um padrão de pesquisa num caminho especificado.

GetFileSystemEntries(String, String, EnumerationOptions)

Devolve um array de nomes de ficheiros e diretórios que correspondem a um padrão de pesquisa e opções de enumeração num caminho especificado.

GetFileSystemEntries(String, String, SearchOption)

Devolve um array com todos os nomes de ficheiros e diretórios que correspondem a um padrão de pesquisa num caminho especificado, e opcionalmente pesquisa em subdiretórios.

GetFileSystemEntries(String)

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

Devolve os nomes de todos os ficheiros e subdiretórios num 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 pesquisar. Esta cadeia não é sensível a maiúsculas minúsculas.

Devoluções

String[]

Um array com os nomes dos ficheiros e subdiretórios no diretório especificado, ou um array vazio se não forem encontrados ficheiros ou subdiretórios.

Exceções

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

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

path é null.

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

path é um nome de ficheiro.

O caminho especificado é inválido (por exemplo, está num disco não mapeado).

Exemplos

O exemplo seguinte utiliza o GetFileSystemEntries método para preencher um array de strings com os nomes de todos os ficheiros e subdiretórios numa localização especificada pelo utilizador e imprime cada string do array na consola. O exemplo está configurado para detetar todos os erros comuns 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

Observações

A ordem dos nomes dos ficheiros e diretórios devolvidos não é garantida; Use o Sort método se for necessária uma ordem de ordenação específica.

Os EnumerateFileSystemEntries métodos e GetFileSystemEntries diferem da seguinte forma: Quando usa EnumerateFileSystemEntries, pode começar a enumerar a coleção de entradas antes que toda a coleção seja devolvida; quando usa GetFileSystemEntries, deve esperar que todo o array de entradas seja devolvido antes de poder aceder ao array. Por isso, quando trabalha com muitos ficheiros e diretórios, EnumerateFileSystemEntries pode ser mais eficiente.

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

O path parâmetro pode especificar informação relativa ou absoluta do caminho. A informação relativa do caminho é interpretada como relativa ao diretório de trabalho atual. Para obter o diretório de trabalho atual, veja GetCurrentDirectory.

A sensibilidade a maiúsculas e minúsculas do path parâmetro corresponde à do sistema de ficheiros onde o código está a correr. Por exemplo, é insensível a maiúsculas minúsculas no NTFS (o sistema de ficheiros padrão do Windows) e sensível a maiúsculas minúsculas em sistemas de ficheiros Linux.

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

Ver também

Aplica-se a

GetFileSystemEntries(String, String)

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

Devolve um array de nomes de ficheiros e diretórios que correspondem a um padrão de pesquisa num 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 pesquisar. Esta cadeia não é sensível a maiúsculas minúsculas.

searchPattern
String

A cadeia de pesquisa para comparar com os nomes dos ficheiros e diretórios em path. Este parâmetro pode conter uma combinação de caracteres válidos de path literais e wildcard (* e ?), mas não suporta expressões regulares.

Devoluções

String[]

Um array de nomes de ficheiros e diretórios que correspondam aos critérios de pesquisa especificados, ou um array vazio se não forem encontrados ficheiros ou diretórios.

Exceções

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

.NET Framework e .NET Core versões anteriores à 2.1: path é uma cadeia de comprimento zero, contém apenas espaço em branco ou contém um ou mais caracteres inválidos. Podes 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, nome do ficheiro ou ambos excedem o comprimento máximo definido pelo sistema.

path é um nome de ficheiro.

O caminho especificado é inválido (por exemplo, está num disco não mapeado).

Exemplos

O exemplo seguinte utiliza o GetFileSystemEntries método para preencher um array de strings com os nomes de todos os ficheiros que correspondem a um filtro especificado pelo utilizador numa localização específica e imprime cada string do array na consola. O exemplo está configurado para detetar todos os erros comuns 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

Observações

A ordem dos nomes dos ficheiros e diretórios devolvidos não é garantida; Use o Sort método se for necessária uma ordem de ordenação específica.

searchPattern pode ser uma combinação de caracteres literais e coringa, mas não suporta expressões regulares. Os seguintes indicadores de wildcard são permitidos em searchPattern.

Especificador de coringa Resultados correspondentes
* (asterisco) Zero ou mais personagens nessa posição.
? (ponto de interrogação) Exatamente uma personagem nessa posição.

Personagens que não sejam o coringa são personagens literais. Por exemplo, a searchPattern cadeia "*t" procura todos os nomes que path terminam com a letra "t". A searchPattern cadeia "s*" procura todos os nomes começando path pela letra "s".

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

Note

Quando se usa o carácter curinga asterisco num searchPattern personagem, como "*.txt", o número de caracteres na extensão especificada afeta a pesquisa da seguinte forma:

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

Quando se usa o carácter coringa de ponto de interrogação, este método devolve apenas ficheiros que correspondem à extensão especificada. Por exemplo, dado dois ficheiros, "file1.txt" e "file1.txtother", numa diretoria, um padrão de pesquisa de "file?.txt" devolve apenas o primeiro ficheiro, enquanto um padrão de pesquisa "file*.txt" devolve ambos os ficheiros.

O path parâmetro pode especificar informação relativa ou absoluta do caminho. A informação relativa do caminho é interpretada como relativa ao diretório de trabalho atual. Para obter o diretório de trabalho atual, veja GetCurrentDirectory.

A sensibilidade a maiúsculas e minúsculas do path parâmetro corresponde à do sistema de ficheiros onde o código está a correr. Por exemplo, é insensível a maiúsculas minúsculas no NTFS (o sistema de ficheiros padrão do Windows) e sensível a maiúsculas minúsculas em sistemas de ficheiros Linux.

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

Ver também

Aplica-se a

GetFileSystemEntries(String, String, EnumerationOptions)

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

Devolve um array de nomes de ficheiros e diretórios que correspondem a um padrão de pesquisa e opções de enumeração num 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 pesquisar. Esta cadeia não é sensível a maiúsculas minúsculas.

searchPattern
String

A cadeia de pesquisa para comparar com os nomes dos ficheiros e diretórios em path. Este parâmetro pode conter uma combinação de caracteres literais e coringa válidos, mas não suporta expressões regulares.

enumerationOptions
EnumerationOptions

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

Devoluções

String[]

Um array de nomes de ficheiros e diretórios que correspondem ao padrão de pesquisa especificado e às opções de enumeração, ou um array vazio se não forem encontrados ficheiros ou diretórios.

Exceções

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

.NET Framework e .NET Core versões anteriores à 2.1: path é uma cadeia de comprimento zero, contém apenas espaço em branco ou contém um ou mais caracteres inválidos. Podes 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, nome do ficheiro ou ambos excedem o comprimento máximo definido pelo sistema.

path é um nome de ficheiro.

O caminho especificado é inválido (por exemplo, está num disco não mapeado).

Observações

A ordem dos nomes dos ficheiros e diretórios devolvidos não é garantida; Use o Sort método se for necessária uma ordem de ordenação específica.

searchPattern pode ser uma combinação de caracteres literais e coringa, mas não suporta expressões regulares. Os seguintes indicadores de wildcard são permitidos em searchPattern.

Especificador de coringa Resultados correspondentes
* (asterisco) Zero ou mais personagens nessa posição.
? (ponto de interrogação) Exatamente uma personagem nessa posição.

Personagens que não sejam o coringa são personagens literais. Por exemplo, a searchPattern cadeia "*t" procura todos os nomes que path terminam com a letra "t". A searchPattern cadeia "s*" procura todos os nomes começando path pela letra "s".

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

Note

Quando se usa o carácter curinga asterisco num searchPattern personagem, como "*.txt", o número de caracteres na extensão especificada afeta a pesquisa da seguinte forma:

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

Quando se usa o carácter coringa de ponto de interrogação, este método devolve apenas ficheiros que correspondem à extensão especificada. Por exemplo, dado dois ficheiros, "file1.txt" e "file1.txtother", numa diretoria, um padrão de pesquisa de "file?.txt" devolve apenas o primeiro ficheiro, enquanto um padrão de pesquisa "file*.txt" devolve ambos os ficheiros.

O path parâmetro pode especificar informação relativa ou absoluta do caminho. A informação relativa do caminho é interpretada como relativa ao diretório de trabalho atual. Para obter o diretório de trabalho atual, veja GetCurrentDirectory.

A sensibilidade a maiúsculas e minúsculas do path parâmetro corresponde à do sistema de ficheiros onde o código está a correr. Por exemplo, é insensível a maiúsculas minúsculas no NTFS (o sistema de ficheiros padrão do Windows) e sensível a maiúsculas minúsculas em sistemas de ficheiros Linux.

Para 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

Devolve um array com todos os nomes de ficheiros e diretórios que correspondem a um padrão de pesquisa num caminho especificado, e opcionalmente pesquisa em 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 pesquisar. Esta cadeia não é sensível a maiúsculas minúsculas.

searchPattern
String

A cadeia de pesquisa para comparar com os nomes dos ficheiros e diretórios em path. Este parâmetro pode conter uma combinação de caracteres válidos de path literais e wildcard (* e ?), mas não suporta 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 predefinido é TopDirectoryOnly.

Devoluções

String[]

Um array de ficheiros com nomes de ficheiros e diretórios que correspondam aos critérios de pesquisa especificados, ou um array vazio se não forem encontrados ficheiros ou diretórios.

Exceções

.NET Framework e .NET Core versões anteriores à 2.1: path é uma string de comprimento zero, contém apenas espaço em branco ou contém caracteres inválidos. 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 referir-se a um disco não mapeado.

path é um nome de ficheiro.

O caminho, nome do ficheiro ou combinação especificados excedem o comprimento máximo definido pelo sistema.

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

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

Observações

A ordem dos nomes dos ficheiros e diretórios devolvidos não é garantida; Use o Sort método se for necessária uma ordem de ordenação específica.

searchPattern pode ser uma combinação de caracteres literais e coringa, mas não suporta expressões regulares. Os seguintes indicadores de wildcard são permitidos em searchPattern.

Especificador de coringa Resultados correspondentes
* (asterisco) Zero ou mais personagens nessa posição.
? (ponto de interrogação) Exatamente uma personagem nessa posição.

Personagens que não sejam o coringa são personagens literais. Por exemplo, a searchPattern cadeia "*t" procura todos os nomes que path terminam com a letra "t". A searchPattern cadeia "s*" procura todos os nomes começando path pela letra "s".

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

Note

Quando se usa o carácter curinga asterisco num searchPattern personagem, como "*.txt", o número de caracteres na extensão especificada afeta a pesquisa da seguinte forma:

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

Quando se usa o carácter coringa de ponto de interrogação, este método devolve apenas ficheiros que correspondem à extensão especificada. Por exemplo, dado dois ficheiros, "file1.txt" e "file1.txtother", numa diretoria, um padrão de pesquisa de "file?.txt" devolve apenas o primeiro ficheiro, enquanto um padrão de pesquisa "file*.txt" devolve ambos os ficheiros.

Os EnumerateFileSystemEntries métodos e GetFileSystemEntries diferem da seguinte forma: Quando usa EnumerateFileSystemEntries, pode começar a enumerar a coleção de entradas antes que toda a coleção seja devolvida; quando usa GetFileSystemEntries, deve esperar que todo o array de entradas seja devolvido antes de poder aceder ao array. Por isso, quando trabalha com muitos ficheiros e diretórios, EnumerateFileSystemEntries pode ser mais eficiente.

Pode especificar a informação relativa do caminho com o path parâmetro. A informação relativa do caminho é interpretada como relativa ao diretório de trabalho atual, que pode determinar usando o GetCurrentDirectory método.

Ver também

Aplica-se a