この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

Directory.GetDirectories メソッド (String, String)

 

公開日: 2016年10月

指定したディレクトリ内の指定した検索パターンに一致するサブディレクトリ名 (パスを含む) を返します。

名前空間:   System.IO
アセンブリ:  mscorlib (mscorlib.dll 内)

public static string[] GetDirectories(
	string path,
	string searchPattern
)

パラメーター

path
Type: System.String

検索するディレクトリの相対パスまたは絶対パス。 この文字列の大文字と小文字は区別されません。

searchPattern
Type: System.String

path 内のサブディレクトリの名前と照合する検索文字列。 このパラメーターに、有効なリテラルのパスとワイルドカード文字の組み合わせを含めることができます (「解説」を参照) が、正規表現はサポートされていません。

戻り値

Type: System.String[]

指定したディレクトリ内の検索パターンに一致するサブディレクトリの完全名 (パスを含む) の配列。または、ディレクトリが見つからない場合は空の配列。

Exception Condition
UnauthorizedAccessException

呼び出し元に、必要なアクセス許可がありません。

ArgumentException

path は長さゼロの文字列か、空白のみで構成されているか、または 1 つ以上の正しくない文字を含んでいます。 GetInvalidPathChars を使用して、正しくない文字を検出するクエリを実行できます。

-または-

searchPattern には有効なパターンが含まれていません。

ArgumentNullException

path または searchPatternnull です。

PathTooLongException

指定されたパスかファイル名、またはその両方がシステム定義の最大長を超えています。 たとえば、Windows ベースのプラットフォームでは、パスは 248 文字未満、ファイル名は 260 文字未満にする必要があります。

IOException

path はファイル名です。

DirectoryNotFoundException

指定されたパスが正しくありません (たとえば、マップされていないドライブにあるなど)。

このメソッドは、指定した検索パターンに一致する、指定したディレクトリの下にあるすべてのサブディレクトリを返します。 指定したディレクトリには、サブディレクトリがないかに一致するサブディレクトリのかどうか、 searchPattern パラメーター、このメソッドは、空の配列を返します。 最上位のディレクトリのみが検索されます。 同様のサブディレクトリを検索する場合を使用して、 GetDirectories(String, String, SearchOption) メソッドを指定し、 AllDirectories で、 searchOption パラメーター。

searchPattern リテラルのパスとワイルドカードの組み合わせは、文字が、正規表現をサポートしていないを指定できます。 次のワイルドカード文字は使用 searchPatternします。

ワイルドカードの指定子

一致する文字列

* (アスタリスク)

その位置に 0 個以上の文字。

? (疑問符 ())

その位置に 0 個または 1 文字。

ワイルドカード以外の文字は、リテラル文字です。 たとえば、 searchPattern 文字列"* t"ですべての名前を検索 path 文字"t"で終わる。 searchPattern 文字列内のすべての名前を「s *"検索 path "s"の文字で始まります。

searchPattern 2 つのピリオドで終わることはできません ("..") 2 つのピリオドが含まれているか ("..") 続いて DirectorySeparatorChar または AltDirectorySeparatorChar, 、無効な文字を含めることもできます。 正しくない文字を照会するには、GetInvalidPathChars メソッドを使用します。

path パラメーターの相対パスまたは絶対パス情報を指定でき、小文字は区別されません。 相対パスの詳細については、現在の作業ディレクトリに対して相対的に解釈されます。 現在の作業ディレクトリを取得するには、次を参照してください。 GetCurrentDirectoryします。

EnumerateDirectoriesGetDirectories メソッドは次のように異なります: を使用すると EnumerateDirectories, 、コレクション全体が返される前に、名前のコレクションの列挙を開始することができます。 使用すると GetDirectories, 、配列にアクセスする前に返される名前の配列全体を待つ必要があります。 そのため、ときに使用する多数のファイルとディレクトリ、 EnumerateDirectories 効率的であることができます。

共通 I/O タスクの一覧は、次を参照してください。 共通 I/O タスクします。

次の例では、指定した文字で始まるパス内のディレクトリの数をカウントします。

using System;
using System.IO;

class Test 
{
    public static void Main() 
    {
        try 
        {
            // Only get subdirectories that begin with the letter "p."
            string[] dirs = Directory.GetDirectories(@"c:\", "p*");
            Console.WriteLine("The number of directories starting with p is {0}.", dirs.Length);
            foreach (string dir in dirs) 
            {
                Console.WriteLine(dir);
            }
        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}

FileIOPermission

for access to path information for the current directory. Associated enumeration: F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery.

ユニバーサル Windows プラットフォーム
10 以降で使用可能
.NET Framework
1.1 以降で使用可能
Silverlight
2.0 以降で使用可能
Windows Phone Silverlight
7.0 以降で使用可能
トップに戻る
表示: