Export (0) Print
Expand All

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.

Namespace:  Microsoft.VisualBasic
Assembly:  Microsoft.VisualBasic (in Microsoft.VisualBasic.dll)

public static string Dir()

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 noteSecurity 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.

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.

NoteNote

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

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft