DirectoryInfo.GetDirectories Метод

Определение

Возвращает подкаталоги текущего каталога.Returns the subdirectories of the current directory.

Перегрузки

GetDirectories()

Возвращает подкаталоги текущего каталога.Returns the subdirectories of the current directory.

GetDirectories(String)

Возвращает массив каталогов текущего объекта DirectoryInfo, отвечающих заданным условиям поиска.Returns an array of directories in the current DirectoryInfo matching the given search criteria.

GetDirectories(String, EnumerationOptions)

Возвращает массив каталогов при использовании DirectoryInfo, соответствующий указанному шаблону поиска и параметрам перечисления.Returns an array of directories in the current DirectoryInfo matching the specified search pattern and enumeration options.

GetDirectories(String, SearchOption)

Возвращает массив каталогов в текущем объекте DirectoryInfo, отвечающих заданным условиям поиска, с использованием значения, которое позволяет определить, следует ли выполнять поиск в подкаталогах.Returns an array of directories in the current DirectoryInfo matching the given search criteria and using a value to determine whether to search subdirectories.

GetDirectories()

Возвращает подкаталоги текущего каталога.Returns the subdirectories of the current directory.

public:
 cli::array <System::IO::DirectoryInfo ^> ^ GetDirectories();
public System.IO.DirectoryInfo[] GetDirectories ();
member this.GetDirectories : unit -> System.IO.DirectoryInfo[]
Public Function GetDirectories () As DirectoryInfo()

Возвращаемое значение

DirectoryInfo[]

Массив объектов DirectoryInfo.An array of DirectoryInfo objects.

Исключения

Путь, содержащийся в объекте DirectoryInfo, является недействительным (например, он ведет на несопоставленный диск).The path encapsulated in the DirectoryInfo object is invalid, such as being on an unmapped drive.

У вызывающего объекта отсутствует необходимое разрешение.The caller does not have the required permission.

У вызывающего объекта отсутствует необходимое разрешение.The caller does not have the required permission.

Примеры

В следующем примере извлекаются все каталоги в корневом каталоге и отображаются имена каталогов.The following example retrieves all the directories in the root directory and displays the directory names.

using namespace System;
using namespace System::IO;
int main()
{
   
   // Make a reference to a directory.
   DirectoryInfo^ di = gcnew DirectoryInfo( "c:\\" );
   
   // Get a reference to each directory in that directory.
   array<DirectoryInfo^>^diArr = di->GetDirectories();
   
   // Display the names of the directories.
   Collections::IEnumerator^ myEnum = diArr->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      DirectoryInfo^ dri = safe_cast<DirectoryInfo^>(myEnum->Current);
      Console::WriteLine( dri->Name );
   }
}

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);
    }
}
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
End Class

Комментарии

Если подкаталогов нет, этот метод возвращает пустой массив.If there are no subdirectories, this method returns an empty array. Этот метод не является рекурсивным.This method is not recursive.

Этот метод предварительно заполняет значения следующих DirectoryInfo свойств:This method pre-populates the values of the following DirectoryInfo properties:

См. также раздел

Применяется к

GetDirectories(String)

Возвращает массив каталогов текущего объекта DirectoryInfo, отвечающих заданным условиям поиска.Returns an array of directories in the current DirectoryInfo matching the given search criteria.

public:
 cli::array <System::IO::DirectoryInfo ^> ^ GetDirectories(System::String ^ searchPattern);
public System.IO.DirectoryInfo[] GetDirectories (string searchPattern);
member this.GetDirectories : string -> System.IO.DirectoryInfo[]
Public Function GetDirectories (searchPattern As String) As DirectoryInfo()

Параметры

searchPattern
String

Строка поиска, которая будет сравниваться с именами каталогов.The search string to match against the names of directories. Этот параметр может содержать сочетание допустимого литерального пути и подстановочного символа (* и ?), но не поддерживает регулярные выражения.This parameter can contain a combination of valid literal path and wildcard (* and ?) characters, but it doesn't support regular expressions.

Возвращаемое значение

DirectoryInfo[]

Массив элементов типа DirectoryInfo, отвечающих критерию searchPattern.An array of type DirectoryInfo matching searchPattern.

Исключения

Параметр searchPattern содержит один или несколько недопустимых символов, определенных методом GetInvalidPathChars().searchPattern contains one or more invalid characters defined by the GetInvalidPathChars() method.

searchPattern имеет значение null.searchPattern is null.

Путь, содержащийся в объекте DirectoryInfo , является недействительным (например, он ведет на несопоставленный диск).The path encapsulated in the DirectoryInfo object is invalid (for example, it is on an unmapped drive).

У вызывающего объекта отсутствует необходимое разрешение.The caller does not have the required permission.

Примеры

В следующем примере подсчитывается каталог по пути, содержащему указанную букву.The following example counts the directories in a path that contain the specified letter.

using namespace System;
using namespace System::IO;
int main()
{
   try
   {
      DirectoryInfo^ di = gcnew DirectoryInfo( "c:\\" );
      
      // Get only subdirectories that contain the letter "p."
      array<DirectoryInfo^>^dirs = di->GetDirectories( "*p*" );
      Console::WriteLine( "The number of directories containing the letter p is {0}.", dirs->Length );
      Collections::IEnumerator^ myEnum = dirs->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         DirectoryInfo^ diNext = safe_cast<DirectoryInfo^>(myEnum->Current);
         Console::WriteLine( "The number of files in {0} is {1}", diNext, diNext->GetFiles()->Length );
      }
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "The process failed: {0}", e );
   }

}

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."
            DirectoryInfo[] dirs = di.GetDirectories("*p*");
            Console.WriteLine("The number of directories containing the letter p is {0}.", dirs.Length);

            foreach (DirectoryInfo diNext in dirs)
            {
                Console.WriteLine("The number of files in {0} is {1}", diNext,
                    diNext.GetFiles().Length);
            }
        }
        catch (Exception e)
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}
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 DirectoryInfo() = di.GetDirectories("*p*")
            Console.WriteLine("The number of directories containing the letter p is {0}.", dirs.Length)
            Dim diNext As DirectoryInfo
            For Each diNext In dirs
                Console.WriteLine("The number of files in {0} is {1}", diNext, _
                 diNext.GetFiles().Length)
            Next

        Catch e As Exception
            Console.WriteLine("The process failed: {0}", e.ToString())
        End Try
    End Sub
End Class

Комментарии

searchPattern может быть сочетанием литеральных символов и подстановочных знаков, но не поддерживает регулярные выражения.searchPattern can be a combination of literal and wildcard characters, but it doesn't support regular expressions. В могут быть использованы следующие подстановочные знаки searchPattern .The following wildcard specifiers are permitted in searchPattern.

Спецификатор подстановочного знакаWildcard specifier СоответствуетMatches
* ** (asterisk) Ноль или более символов в этой должности.Zero or more characters in that position.
?? (вопросительный знак)(question mark) Ноль или один символ в этой позиции.Zero or one character in that position.

Символы, отличные от подстановочных знаков, являются литеральными символами.Characters other than the wildcard are literal characters. Например, строка « * t» ищет все имена в конце буквы «t».For example, the string "*t" searches for all names in ending with the letter "t". ".". searchPatternСтрока "s * " ищет все имена в path начале с буквой "s".The searchPattern string "s*" searches for all names in path beginning with the letter "s".

Этот метод предварительно заполняет значения следующих DirectoryInfo свойств:This method pre-populates the values of the following DirectoryInfo properties:

См. также раздел

Применяется к

GetDirectories(String, EnumerationOptions)

Возвращает массив каталогов при использовании DirectoryInfo, соответствующий указанному шаблону поиска и параметрам перечисления.Returns an array of directories in the current DirectoryInfo matching the specified search pattern and enumeration options.

public:
 cli::array <System::IO::DirectoryInfo ^> ^ GetDirectories(System::String ^ searchPattern, System::IO::EnumerationOptions ^ enumerationOptions);
public System.IO.DirectoryInfo[] GetDirectories (string searchPattern, System.IO.EnumerationOptions enumerationOptions);
member this.GetDirectories : string * System.IO.EnumerationOptions -> System.IO.DirectoryInfo[]
Public Function GetDirectories (searchPattern As String, enumerationOptions As EnumerationOptions) As DirectoryInfo()

Параметры

searchPattern
String

Строка поиска, которая будет сравниваться с именами каталогов.The search string to match against the names of directories. Этот параметр может содержать сочетание допустимого литерального пути и подстановочного символа (* и ?), но не поддерживает регулярные выражения.This parameter can contain a combination of valid literal path and wildcard (* and ?) characters, but it doesn't support regular expressions.

enumerationOptions
EnumerationOptions

Объект, описывающий конфигурацию поиска и перечисления для использования.An object that describes the search and enumeration configuration to use.

Возвращаемое значение

DirectoryInfo[]

Массив элементов типа DirectoryInfo, соответствующий searchPattern и enumerationOptions.An array of type DirectoryInfo matching searchPattern and enumerationOptions.

Исключения

Параметр searchPattern содержит один или несколько недопустимых символов, определенных методом GetInvalidPathChars().searchPattern contains one or more invalid characters defined by the GetInvalidPathChars() method.

searchPattern имеет значение null.searchPattern is null.

Путь, содержащийся в объекте DirectoryInfo , является недействительным (например, он ведет на несопоставленный диск).The path encapsulated in the DirectoryInfo object is invalid (for example, it is on an unmapped drive).

У вызывающего объекта отсутствует необходимое разрешение.The caller does not have the required permission.

Комментарии

searchPattern может быть сочетанием литеральных символов и подстановочных знаков, но не поддерживает регулярные выражения.searchPattern can be a combination of literal and wildcard characters, but it doesn't support regular expressions. В могут быть использованы следующие подстановочные знаки searchPattern .The following wildcard specifiers are permitted in searchPattern.

Спецификатор подстановочного знакаWildcard specifier СоответствуетMatches
* ** (asterisk) Ноль или более символов в этой должности.Zero or more characters in that position.
?? (вопросительный знак)(question mark) Ноль или один символ в этой позиции.Zero or one character in that position.

Символы, отличные от подстановочных знаков, являются литеральными символами.Characters other than the wildcard are literal characters. Например, строка « * t» ищет все имена в конце буквы «t».For example, the string "*t" searches for all names in ending with the letter "t". ".". searchPatternСтрока "s * " ищет все имена в path начале с буквой "s".The searchPattern string "s*" searches for all names in path beginning with the letter "s".

Этот метод предварительно заполняет значения следующих DirectoryInfo свойств:This method pre-populates the values of the following DirectoryInfo properties:

Применяется к

GetDirectories(String, SearchOption)

Возвращает массив каталогов в текущем объекте DirectoryInfo, отвечающих заданным условиям поиска, с использованием значения, которое позволяет определить, следует ли выполнять поиск в подкаталогах.Returns an array of directories in the current DirectoryInfo matching the given search criteria and using a value to determine whether to search subdirectories.

public:
 cli::array <System::IO::DirectoryInfo ^> ^ GetDirectories(System::String ^ searchPattern, System::IO::SearchOption searchOption);
public System.IO.DirectoryInfo[] GetDirectories (string searchPattern, System.IO.SearchOption searchOption);
member this.GetDirectories : string * System.IO.SearchOption -> System.IO.DirectoryInfo[]
Public Function GetDirectories (searchPattern As String, searchOption As SearchOption) As DirectoryInfo()

Параметры

searchPattern
String

Строка поиска, которая будет сравниваться с именами каталогов.The search string to match against the names of directories. Этот параметр может содержать сочетание допустимого литерального пути и подстановочного символа (* и ?), но не поддерживает регулярные выражения.This parameter can contain a combination of valid literal path and wildcard (* and ?) characters, but it doesn't support regular expressions.

searchOption
SearchOption

Одно из значений перечисления, определяющее, следует ли выполнять поиск только в текущем каталоге или также во всех его подкаталогах.One of the enumeration values that specifies whether the search operation should include only the current directory or all subdirectories.

Возвращаемое значение

DirectoryInfo[]

Массив элементов типа DirectoryInfo, отвечающих критерию searchPattern.An array of type DirectoryInfo matching searchPattern.

Исключения

Параметр searchPattern содержит один или несколько недопустимых символов, определенных методом GetInvalidPathChars().searchPattern contains one or more invalid characters defined by the GetInvalidPathChars() method.

searchPattern имеет значение null.searchPattern is null.

searchOption не является допустимым значением SearchOption.searchOption is not a valid SearchOption value.

Путь, содержащийся в объекте DirectoryInfo , является недействительным (например, он ведет на несопоставленный диск).The path encapsulated in the DirectoryInfo object is invalid (for example, it is on an unmapped drive).

У вызывающего объекта отсутствует необходимое разрешение.The caller does not have the required permission.

Примеры

В следующем примере выводится список всех каталогов и файлов, начинающихся с буквы "c" в "c: \ ".The following example lists all of the directories and files that begin with the letter "c" in "c:\".

using namespace System;
using namespace System::IO;

ref class App
{
public:
    static void Main()
    {
        // Specify the directory you want to manipulate.
        String^ path = "c:\\";
        String^ searchPattern = "c*";

        DirectoryInfo^ di = gcnew DirectoryInfo(path);
        array<DirectoryInfo^>^ directories =
            di->GetDirectories(searchPattern, SearchOption::TopDirectoryOnly);

        array<FileInfo^>^ files =
            di->GetFiles(searchPattern, SearchOption::TopDirectoryOnly);

        Console::WriteLine(
            "Directories that begin with the letter \"c\" in {0}", path);
        for each (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);
        for each (FileInfo^ file in files)
        {
            Console::WriteLine(
                "{0,-25} {1,25}", file->Name, file->LastWriteTime);
        }
    } // Main()
}; // App()

int main()
{
    App::Main();
}
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

Комментарии

searchPattern может быть сочетанием литеральных символов и подстановочных знаков, но не поддерживает регулярные выражения.searchPattern can be a combination of literal and wildcard characters, but it doesn't support regular expressions. В могут быть использованы следующие подстановочные знаки searchPattern .The following wildcard specifiers are permitted in searchPattern.

Спецификатор подстановочного знакаWildcard specifier СоответствуетMatches
* ** (asterisk) Ноль или более символов в этой должности.Zero or more characters in that position.
?? (вопросительный знак)(question mark) Ноль или один символ в этой позиции.Zero or one character in that position.

Символы, отличные от подстановочных знаков, являются литеральными символами.Characters other than the wildcard are literal characters. Например, строка « * t» ищет все имена в конце буквы «t».For example, the string "*t" searches for all names in ending with the letter "t". ".". searchPatternСтрока "s * " ищет все имена в path начале с буквой "s".The searchPattern string "s*" searches for all names in path beginning with the letter "s".

Если подкаталогов нет или подкаталоги не соответствуют searchPattern параметру, этот метод возвращает пустой массив.If there are no subdirectories, or no subdirectories match the searchPattern parameter, this method returns an empty array.

Этот метод предварительно заполняет значения следующих DirectoryInfo свойств:This method pre-populates the values of the following DirectoryInfo properties:

См. также раздел

Применяется к