次の方法で共有


DirectoryInfo.GetDirectories メソッド ()

現在のディレクトリのサブディレクトリを返します。

Overloads Public Function GetDirectories() As DirectoryInfo()
[C#]
public DirectoryInfo[] GetDirectories();
[C++]
public: DirectoryInfo* GetDirectories() [];
[JScript]
public function GetDirectories() : DirectoryInfo[];

戻り値

DirectoryInfo オブジェクトの配列。

例外

例外の種類 条件
DirectoryNotFoundException DirectoryInfo オブジェクトにカプセル化されているパスが無効です (割り当てられていないドライブが指定されている場合など)。

解説

サブディレクトリが存在しない場合、このメソッドはルート ディレクトリだけを返します。このメソッドは再帰的ではありません。

このメソッドの使用例については、以下の「使用例」を参照してください。その他の一般的な I/O タスクまたは関連する I/O タスクの例を次の表に示します。

実行するタスク 参考例があるトピック
テキスト ファイルを作成する。 ファイルへのテキストの書き込み
テキスト ファイルに書き込む。 ファイルへのテキストの書き込み
テキスト ファイルから読み取る。 ファイルからのテキストの読み取り
ディレクトリをコピーする。 Directory
ディレクトリの名前を変更、またはディレクトリを移動する。 Directory.Move

DirectoryInfo.MoveTo

ディレクトリを削除する。 Directory.Delete

DirectoryInfo.Delete

ディレクトリを作成する。 CreateDirectory

Directory

サブディレクトリを作成する。 CreateSubdirectory
ディレクトリ内のファイルを参照する。 Name
ディレクトリ内のすべてのサブディレクトリにあるすべてのファイルを参照する。 GetFileSystemInfos
ディレクトリのサイズを取得する。 Directory
ファイルが存在するかどうかを判別する。 Exists
ディレクトリが存在するかどうかを判別する。 Exists

使用例

ルート ディレクトリ内のすべてのディレクトリを取得し、ディレクトリ名を表示する例を次に示します。

 
Imports System
Imports System.IO

Public Class GetDirectoriesTest

    Public Shared Sub Main()
        ' Make a reference to a directory.
        Dim di As New DirectoryInfo("c:\")
        ' Get a reference to each directory in that directory.
        Dim diArr As DirectoryInfo() = di.GetDirectories()
        ' Display the names of the directories.
        Dim dri As DirectoryInfo
        For Each dri In diArr
            Console.WriteLine(dri.Name)
        Next dri
    End Sub 'Main
End Class 'GetDirectoriesTest

[C#] 
using System;
using System.IO;

public class GetDirectoriesTest 
{
    public static void Main() 
    {

        // Make a reference to a directory.
        DirectoryInfo di = new DirectoryInfo("c:\\");

        // Get a reference to each directory in that directory.
        DirectoryInfo[] diArr = di.GetDirectories();

        // Display the names of the directories.
        foreach (DirectoryInfo dri in diArr)
            Console.WriteLine(dri.Name);
    }
}

[C++] 
#using <mscorlib.dll>

using namespace System;
using namespace System::IO;

int main() {

    // Make a reference to a directory.
    DirectoryInfo* di = new DirectoryInfo(S"c:\\");

    // Get a reference to each directory in that directory.
    DirectoryInfo* diArr[] = di->GetDirectories();

    // Display the names of the directories.
    Collections::IEnumerator* myEnum = diArr->GetEnumerator();
    while (myEnum->MoveNext()) {
        DirectoryInfo* dri = __try_cast<DirectoryInfo*>(myEnum->Current);
        Console::WriteLine(dri->Name);
    }
}

[JScript] 
import System;
import System.IO;

public class GetDirectoriesTest {
    public static function Main() {

        // Make a reference to a directory.
        var di : DirectoryInfo = new DirectoryInfo("c:\\");

        // Get a reference to each directory in that directory.
        var diArr : DirectoryInfo[] = di.GetDirectories();

        // Display the names of the directories.
        for(var i : int in diArr)
            Console.WriteLine(diArr[i].Name);
    }
}
GetDirectoriesTest.Main();

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

.NET Framework セキュリティ:

参照

DirectoryInfo クラス | DirectoryInfo メンバ | System.IO 名前空間 | DirectoryInfo.GetDirectories オーバーロードの一覧 | 入出力操作 | ファイルからのテキストの読み取り | ファイルへのテキストの書き込み