エクスポート (0) 印刷
すべて展開
この記事は翻訳者によって翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。
訳文
原文

Directory.GetDirectories メソッド (String)

指定したディレクトリ内のサブディレクトリの名前 (パスを含む) を取得します。

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

public static string[] GetDirectories(
	string path
)

パラメーター

path
型: System.String
サブディレクトリ名の配列が返されるパス。

戻り値

型: System.String[]
path 内のサブディレクトリの名前の配列。

例外条件
UnauthorizedAccessException

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

ArgumentException

path が、長さが 0 の文字列であるか、空白しか含んでいないか、または InvalidPathChars で定義されている無効な文字を 1 つ以上含んでいます。

ArgumentNullException

pathnull です。

PathTooLongException

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

IOException

path はファイル名です。

DirectoryNotFoundException

指定したパスが無効です (割り当てられていないドライブであるなど)。

サブディレクトリが存在しない場合、メソッドは空の配列を返します。

path パラメーターは、相対パス情報または絶対パス情報を指定することを許可されています。 相対パス情報は、現在の作業ディレクトリに対して相対的に解釈されます。 現在の作業ディレクトリを取得するには、GetCurrentDirectory のトピックを参照してください。

このメソッドは、検索パターンとしてアスタリスク (*) を指定した GetDirectories とまったく同じです。

このメソッドで返される名前の先頭には、path で提供されるディレクトリ情報が付きます。

path パラメーターでは大文字と小文字が区別されません。

共通 I/O タスクの一覧については、「共通 I/O タスク」を参照してください。

ファイル名またはディレクトリ名の配列をコマンド ラインから受け取り、名前の種類を判断し、適切な処理を行うコード例を次に示します。


// For Directory.GetFiles and Directory.GetDirectories
// For File.Exists, Directory.Exists
using System;
using System.IO;
using System.Collections;

public class RecursiveFileProcessor 
{
    public static void Main(string[] args) 
    {
        foreach(string path in args) 
        {
            if(File.Exists(path)) 
            {
                // This path is a file
                ProcessFile(path); 
            }               
            else if(Directory.Exists(path)) 
            {
                // This path is a directory
                ProcessDirectory(path);
            }
            else 
            {
                Console.WriteLine("{0} is not a valid file or directory.", path);
            }        
        }        
    }


    // Process all files in the directory passed in, recurse on any directories 
    // that are found, and process the files they contain.
    public static void ProcessDirectory(string targetDirectory) 
    {
        // Process the list of files found in the directory.
        string [] fileEntries = Directory.GetFiles(targetDirectory);
        foreach(string fileName in fileEntries)
            ProcessFile(fileName);

        // Recurse into subdirectories of this directory.
        string [] subdirectoryEntries = Directory.GetDirectories(targetDirectory);
        foreach(string subdirectory in subdirectoryEntries)
            ProcessDirectory(subdirectory);
    }

    // Insert logic for processing found files here.
    public static void ProcessFile(string path) 
    {
        Console.WriteLine("Processed file '{0}'.", path);	    
    }
}


.NET Framework

サポート対象: 4、3.5、3.0、2.0、1.1、1.0

.NET Framework Client Profile

サポート対象: 4、3.5 SP1

Windows 7, Windows Vista SP1 以降, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core はサポート対象外), Windows Server 2008 R2 (SP1 以降で Server Core をサポート), Windows Server 2003 SP2

.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。 サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

コミュニティの追加

追加
表示:
© 2014 Microsoft