SearchOption 列挙型

定義

現在のディレクトリを検索するか、現在のディレクトリとすべてのサブディレクトリを検索するかを指定します。

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
継承
SearchOption
属性

フィールド

名前 説明
TopDirectoryOnly 0

検索操作に現在のディレクトリのみを含めます。

AllDirectories 1

現在のディレクトリとそのすべてのサブディレクトリを検索操作に含めます。 このオプションには、マウントされたドライブやシンボリック リンクなどの再解析ポイントが検索に含まれます。

次の例では、"c:\" のように、文字 "c" で始まるすべてのディレクトリとファイルを一覧表示します。 この例では、 TopDirectoryOnly を使用して、最上位のディレクトリのみを検索するように指定します。

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

注釈

検索で AllDirectories を選択し、ディレクトリ構造にループを作成するリンクが含まれている場合、検索操作は無限ループに入ります。

適用対象