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 My.Computer.FileSystem Object gives you greater productivity and performance in file I/O operations than the Dir function. See My.Computer.FileSystem.GetDirectoryInfo Method for more information.
Public Overloads Function Dir() As String
' -or-
Public Overloads Function Dir( _
ByVal PathName As String, _
Optional ByVal Attributes As FileAttribute = FileAttribute.Normal _
) As String
The Attributes argument enumeration values are as follows:
|
Value |
Constant |
Description |
|---|---|---|
|
Normal |
vbnormal |
Default. Specifies files with no attributes. |
|
ReadOnly |
vbReadOnly |
Specifies read-only files, in addition to files with no attributes. |
|
Hidden |
vbHidden |
Specifies hidden files, in addition to files with no attributes. |
|
System |
vbSystem |
Specifies system files, in addition to files with no attributes. |
|
Volume |
vbVolume |
Specifies volume label; if any other attribute is specified, vbVolume is ignored. |
|
Directory |
vbDirectory |
Specifies directories or folders, in addition to files with no 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 in place of the actual values. |
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 you call the Dir function. To retrieve the next item, you can make subsequent calls to the Dir function with no parameters.
Security Note:
|
|---|
|
To run correctly, the Dir function requires the Read and PathDiscovery flags of FileIOPermission to be granted to the executing code. For more information, see FileIOPermission, SecurityException, and Code Access Permissions. |
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
This function is not supported.
Namespace: Microsoft.VisualBasic
Module: FileSystem
Assembly: Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)
Note:
Security Note: