FileSystem::Dir Method ()
Returns a string representing the name of a file, directory, or folder that matches a specified pattern or file attribute, or the volume label of a drive. The FileSystem gives you better productivity and performance in file I/O operations than the Dir function. See GetDirectoryInfo for more information.
Assembly: Microsoft.VisualBasic (in Microsoft.VisualBasic.dll)
Return Value
Type: System::String^A string representing the name of a file, directory, or folder that matches a specified pattern or file attribute, or the volume label of a drive.
The Dir function supports the use of multiple-character (*) and single-character (?) wildcards to specify multiple files.
VbVolume returns the volume label for the drive instead of a specific file name.
You must supply a PathName the first time that you call the Dir function. To retrieve the next item, you can make subsequent calls to the Dir function without parameters.
Security Note
|
|---|
To run correctly, the Dir function requires the Read and PathDiscoveryflags of FileIOPermission to be granted to the executing code. For more information, see FileIOPermission, SecurityException, and Code Access Permissions. |
The Attributes argument enumeration values are as follows:
Value | Constant | Description |
Normal | vbnormal | Default. Specifies files without attributes. |
ReadOnly | vbReadOnly | Specifies read-only files, and also files without attributes. |
Hidden | vbHidden | Specifies hidden files, and also files without attributes. |
System | vbSystem | Specifies system files, and also files without attributes. |
Volume | vbVolume | Specifies volume label; if any other attribute is specified, vbVolume is ignored. |
Directory | vbDirectory | Specifies directories or folders, and also files without attributes. |
Archive | vbArchive | File has changed since last backup. |
Alias | vbAlias | File has a different name. |
Note |
|---|
These enumerations are specified by the Visual Basic language and can be used anywhere in your code instead of the actual values. |
This example uses the Dir function to check if certain files and directories exist.
Dim MyFile, MyPath, MyName As String ' Returns "WIN.INI" if it exists. MyFile = Dir("C:\WINDOWS\WIN.INI") ' Returns filename with specified extension. If more than one *.INI ' file exists, the first file found is returned. MyFile = Dir("C:\WINDOWS\*.INI") ' Call Dir again without arguments to return the next *.INI file in the ' same directory. MyFile = Dir() ' Return first *.TXT file, including files with a set hidden attribute. MyFile = Dir("*.TXT", vbHidden) ' Display the names in C:\ that represent directories. MyPath = "c:\" ' Set the path. MyName = Dir(MyPath, vbDirectory) ' Retrieve the first entry. Do While MyName <> "" ' Start the loop. ' Use bitwise comparison to make sure MyName is a directory. If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then ' Display entry only if it's a directory. MsgBox(MyName) End If MyName = Dir() ' Get next entry. Loop
Available since 1.1

