Share via


DirectoryInfo.GetFileSystemInfos メソッド

厳密に型指定された FileSystemInfo オブジェクトの配列を取得します。

オーバーロードの一覧

すべてのファイルとディレクトリを一覧表示する、厳密に型指定された FileSystemInfo エントリの配列を返します。

.NET Compact Framework でもサポート。

[Visual Basic] Overloads Public Function GetFileSystemInfos() As FileSystemInfo()

[C#] public FileSystemInfo[] GetFileSystemInfos();

[C++] public: FileSystemInfo* GetFileSystemInfos() [];

[JScript] public function GetFileSystemInfos() : FileSystemInfo[];

指定した検索基準に一致する、厳密に型指定された FileSystemInfo オブジェクトの配列を取得します。

.NET Compact Framework でもサポート。

[Visual Basic] Overloads Public Function GetFileSystemInfos(String) As FileSystemInfo()

[C#] public FileSystemInfo[] GetFileSystemInfos(string);

[C++] public: FileSystemInfo* GetFileSystemInfos(String*) [];

[JScript] public function GetFileSystemInfos(String) : FileSystemInfo[];

使用例

[Visual Basic, C#, C++] 指定した検索パターンに一致するファイルおよびディレクトリの数をカウントする例を次に示します。

[Visual Basic, C#, C++] メモ   ここでは、GetFileSystemInfos のオーバーロード形式のうちの 1 つだけについて、使用例を示します。その他の例については、各オーバーロード形式のトピックを参照してください。

 
Imports System
Imports System.IO

Public Class Test
    Public Shared Sub Main()
        ' Specify the directories you want to manipulate.
        Dim di As DirectoryInfo = New DirectoryInfo("c:\")
        Try
            ' Get only subdirectories that contain the letter "p."
            Dim dirs As FileSystemInfo() = di.GetDirectories("*p*")
            Console.WriteLine("Number of directories with a p: {0}", dirs.Length)
            Dim diNext As DirectoryInfo

            ' Count all the files in each subdirectory that contain the letter "e."
            For Each diNext In dirs
                Console.WriteLine("The number of files and directories " + _
                 "in {0} with an e is {1}", diNext, _
                 diNext.GetFileSystemInfos("*e*").Length)
            Next
        Catch e As Exception
            Console.WriteLine("The process failed: {0}", e.ToString())
        End Try
    End Sub
End Class

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

class Test 
{
    public static void Main() 
    {
        try 
        {
            DirectoryInfo di = new DirectoryInfo(@"c:\");
            // Get only subdirectories that contain the letter "p."
            FileSystemInfo[] dirs = di.GetDirectories("*p*");
            Console.WriteLine("Number of directories with a p: {0}", dirs.Length);
            // Count all the files in each subdirectory that contain the letter "e."
            foreach (DirectoryInfo diNext in dirs) 
            {
                Console.WriteLine("The number of files and directories " +
                    "in {0} with an e is {1}", diNext, 
                    diNext.GetFileSystemInfos("*e*").Length);
            }
        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}

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

using namespace System;
using namespace System::IO;

int main() {
    try {
        DirectoryInfo* di = new DirectoryInfo(S"c:\\");
        // Get only subdirectories that contain the letter S"p."
        FileSystemInfo* dirs[] = di->GetDirectories(S"*p*");
        Console::WriteLine(S"Number of directories with a p: {0}", __box(dirs->Length));
        // Count all the files in each subdirectory that contain the letter "e."
        Collections::IEnumerator* myEnum = dirs->GetEnumerator();
        while (myEnum->MoveNext()) {
            DirectoryInfo* diNext = __try_cast<DirectoryInfo*>(myEnum->Current);

            Console::WriteLine(S"The number of files and directories in {0} with an e is {1}", diNext, 
                __box(diNext->GetFileSystemInfos(S"*e*")->Length));
        }
    } catch (Exception* e) {
        Console::WriteLine(S"The process failed: {0}", e);
    }
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

参照

DirectoryInfo クラス | DirectoryInfo メンバ | System.IO 名前空間