SearchOption Enumeração
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Especifica se deve pesquisar o diretório atual ou o diretório atual e todos os subdiretórios.
public enum class SearchOption
public enum SearchOption
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum SearchOption
type SearchOption =
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type SearchOption =
Public Enum SearchOption
- Herança
- Atributos
Campos
AllDirectories | 1 | Inclui o diretório atual e todos os seus subdiretórios em uma operação de pesquisa. Essa opção inclui pontos de nova análise, como unidades montadas e links simbólicos na pesquisa. |
TopDirectoryOnly | 0 | Inclui apenas o diretório atual em uma operação de pesquisa. |
Exemplos
O exemplo a seguir lista todos os diretórios e arquivos que começam com a letra "c", como em "c:\". Neste exemplo, TopDirectoryOnly é usado para especificar que apenas o diretório de nível superior deve ser pesquisado.
using namespace System;
using namespace System::IO;
ref class App
{
public:
static void Main()
{
// Specify the directory you want to manipulate.
String^ path = "c:\\";
String^ searchPattern = "c*";
DirectoryInfo^ di = gcnew DirectoryInfo(path);
array<DirectoryInfo^>^ directories =
di->GetDirectories(searchPattern, SearchOption::TopDirectoryOnly);
array<FileInfo^>^ files =
di->GetFiles(searchPattern, SearchOption::TopDirectoryOnly);
Console::WriteLine(
"Directories that begin with the letter \"c\" in {0}", path);
for each (DirectoryInfo^ dir in directories)
{
Console::WriteLine(
"{0,-25} {1,25}", dir->FullName, dir->LastWriteTime);
}
Console::WriteLine();
Console::WriteLine(
"Files that begin with the letter \"c\" in {0}", path);
for each (FileInfo^ file in files)
{
Console::WriteLine(
"{0,-25} {1,25}", file->Name, file->LastWriteTime);
}
} // Main()
}; // App()
int main()
{
App::Main();
}
using System;
using System.IO;
class App
{
public static void Main()
{
// Specify the directory you want to manipulate.
string path = @"c:\";
string searchPattern = "c*";
DirectoryInfo di = new DirectoryInfo(path);
DirectoryInfo[] directories =
di.GetDirectories(searchPattern, SearchOption.TopDirectoryOnly);
FileInfo[] files =
di.GetFiles(searchPattern, SearchOption.TopDirectoryOnly);
Console.WriteLine(
"Directories that begin with the letter \"c\" in {0}", path);
foreach (DirectoryInfo dir in directories)
{
Console.WriteLine(
"{0,-25} {1,25}", dir.FullName, dir.LastWriteTime);
}
Console.WriteLine();
Console.WriteLine(
"Files that begin with the letter \"c\" in {0}", path);
foreach (FileInfo file in files)
{
Console.WriteLine(
"{0,-25} {1,25}", file.Name, file.LastWriteTime);
}
} // Main()
} // App()
Imports System.IO
Class App
Public Shared Sub Main()
' Specify the directory you want to manipulate.
Dim path As String = "c:\\"
Dim searchPattern As String = "c*"
Dim di As DirectoryInfo = New DirectoryInfo(path)
Dim directories() As DirectoryInfo = _
di.GetDirectories(searchPattern, SearchOption.TopDirectoryOnly)
Dim files() As FileInfo = _
di.GetFiles(searchPattern, SearchOption.TopDirectoryOnly)
Console.WriteLine( _
"Directories that begin with the letter 'c' in {0}", path)
Dim dir As DirectoryInfo
For Each dir In directories
Console.WriteLine( _
"{0,-25} {1,25}", dir.FullName, dir.LastWriteTime)
Next dir
Console.WriteLine()
Console.WriteLine( _
"Files that begin with the letter 'c' in {0}", path)
Dim file As FileInfo
For Each file In files
Console.WriteLine( _
"{0,-25} {1,25}", file.Name, file.LastWriteTime)
Next file
End Sub
End Class
Comentários
Se você escolher AllDirectories
em sua pesquisa e a estrutura de diretório contiver um link que cria um loop, a operação de pesquisa entrará em um loop infinito.