DirectoryInfo::GetDirectories Method (String^)
Returns an array of directories in the current DirectoryInfo matching the given search criteria.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- searchPattern
-
Type:
System::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 (see Remarks), but doesn't support regular expressions. The default pattern is "*", which returns all files.
Return Value
Type: array<System.IO::DirectoryInfo^>^An array of type DirectoryInfo matching searchPattern.
| Exception | Condition |
|---|---|
| ArgumentException | searchPattern contains one or more invalid characters defined by the GetInvalidPathChars method. |
| ArgumentNullException | searchPattern is null. |
| DirectoryNotFoundException | The path encapsulated in the DirectoryInfo object is invalid (for example, it is on an unmapped drive). |
| UnauthorizedAccessException | The caller does not have the required permission. |
searchPattern can be a combination of literal and wildcard characters, but doesn't support regular expressions. 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. For example, the string "*t" searches for all names in ending with the letter "t". ". The searchPattern string "s*" searches for all names in path beginning with the letter "s".
This method pre-populates the values of the following DirectoryInfo properties:
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 ); } }
for reading from files and directories and for access to the path. Associated enumerations: FileIOPermissionAccess::Read, FileIOPermissionAccess::PathDiscovery
Available since 10
.NET Framework
Available since 1.1
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0