FileSystem.Dir メソッド

定義

指定パターンまたはファイル属性と一致するファイル名、ディレクトリ名、フォルダー名を表す文字列、またはドライブのボリューム ラベルを表す文字列を返します。 FileSystem を使用すると、Dir 関数を使用した場合より I/O 操作の生産性およびパフォーマンスが向上します。 詳細については、「GetDirectoryInfo(String)」を参照してください。

オーバーロード

Dir()

指定パターンまたはファイル属性と一致するファイル名、ディレクトリ名、フォルダー名を表す文字列、またはドライブのボリューム ラベルを表す文字列を返します。 FileSystem を使用すると、Dir 関数を使用した場合より I/O 操作の生産性およびパフォーマンスが向上します。 詳細については、「GetDirectoryInfo(String)」を参照してください。

Dir(String, FileAttribute)

指定パターンまたはファイル属性と一致するファイル名、ディレクトリ名、フォルダー名を表す文字列、またはドライブのボリューム ラベルを表す文字列を返します。 FileSystem を使用すると、Dir 関数を使用した場合より I/O 操作の生産性およびパフォーマンスが向上します。 詳細については、「GetDirectoryInfo(String)」を参照してください。

Dir()

指定パターンまたはファイル属性と一致するファイル名、ディレクトリ名、フォルダー名を表す文字列、またはドライブのボリューム ラベルを表す文字列を返します。 FileSystem を使用すると、Dir 関数を使用した場合より I/O 操作の生産性およびパフォーマンスが向上します。 詳細については、「GetDirectoryInfo(String)」を参照してください。

public:
 static System::String ^ Dir();
public static string Dir ();
static member Dir : unit -> string
Public Function Dir () As String

戻り値

String

指定されたパターンまたはファイル属性と一致するファイル名、ディレクトリ名、フォルダー名を表す文字列、またはドライブのボリューム ラベルを表す文字列。

この例では、この関数を Dir 使用して、特定のファイルとディレクトリが存在するかどうかを確認します。

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

注釈

この関数では Dir 、複数のファイルを指定するために、複数文字 (*) と 1 文字 (?) のワイルドカードを使用できます。

VbVolume は、特定のファイル名ではなくドライブのボリューム ラベルを返します。

関数を PathName 初めて呼び出す際に指定する Dir 必要があります。 次の項目を取得するには、パラメーターなしで関数を Dir 後続で呼び出すことができます。

重要

関数をDir正しく実行するには、実行中のFileIOPermissionコードにRead付与するフラグとPathDiscoveryフラグが必要です。 詳細については、「、およびコード アクセス許可」を参照してくださいFileIOPermissionSecurityException

引数の列挙値は Attributes 次のとおりです。

定数 説明
Normal vbnormal 既定値。 属性のないファイルを指定します。
ReadOnly vbReadOnly 読み取り専用ファイルと、属性のないファイルも指定します。
Hidden vbHidden 非表示のファイルと、属性のないファイルも指定します。
System vbSystem システム ファイルと、属性のないファイルも指定します。
Volume vbVolume ボリューム ラベルを指定します。他の属性が指定されている場合は無視 vbVolume されます。
Directory vbDirectory ディレクトリまたはフォルダー、および属性のないファイルも指定します。
Archive vbArchive ファイルは前回のバックアップ以降に変更されています。
Alias vbAlias ファイルに別の名前が付いています。

注意

これらの列挙型はVisual Basic言語で指定され、実際の値ではなくコード内の任意の場所で使用できます。

こちらもご覧ください

適用対象

Dir(String, FileAttribute)

指定パターンまたはファイル属性と一致するファイル名、ディレクトリ名、フォルダー名を表す文字列、またはドライブのボリューム ラベルを表す文字列を返します。 FileSystem を使用すると、Dir 関数を使用した場合より I/O 操作の生産性およびパフォーマンスが向上します。 詳細については、「GetDirectoryInfo(String)」を参照してください。

[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static string Dir (string PathName, Microsoft.VisualBasic.FileAttribute Attributes = Microsoft.VisualBasic.FileAttribute.Normal);
public static string Dir (string PathName, Microsoft.VisualBasic.FileAttribute Attributes = Microsoft.VisualBasic.FileAttribute.Normal);
public static string Dir (string Pathname, Microsoft.VisualBasic.FileAttribute Attributes = Microsoft.VisualBasic.FileAttribute.Normal);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member Dir : string * Microsoft.VisualBasic.FileAttribute -> string
static member Dir : string * Microsoft.VisualBasic.FileAttribute -> string
Public Function Dir (PathName As String, Optional Attributes As FileAttribute = Microsoft.VisualBasic.FileAttribute.Normal) As String
Public Function Dir (Pathname As String, Optional Attributes As FileAttribute = Microsoft.VisualBasic.FileAttribute.Normal) As String

パラメーター

PathNamePathname
String

省略可能。 ファイル名、ディレクトリまたはフォルダー名、あるいはドライブ ボリューム ラベルを指定する文字列式です。 PathName が見つからない場合は、長さ 0 の文字列 ("") が返されます。

Attributes
FileAttribute

省略可能。 値がファイル属性を指定する列挙式または数式。 省略した場合、Dir は、Pathname に一致する、属性のないファイルを返します。

戻り値

String

指定されたパターンまたはファイル属性と一致するファイル名、ディレクトリ名、フォルダー名を表す文字列、またはドライブのボリューム ラベルを表す文字列。

属性

この例では、この関数を Dir 使用して、特定のファイルとディレクトリが存在するかどうかを確認します。

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

注釈

この関数では Dir 、複数のファイルを指定するために、複数文字 (*) と 1 文字 (?) のワイルドカードを使用できます。
VbVolume は、特定のファイル名ではなくドライブのボリューム ラベルを返します。
関数を PathName 初めて呼び出す際に指定する Dir 必要があります。 次の項目を取得するには、パラメーターなしで関数の後続の呼び出しを Dir 行うことができます。

重要

関数をDir正しく実行するには、実行中のFileIOPermissionコードにRead付与するフラグとPathDiscoveryフラグが必要です。 詳細については、「、およびコード アクセス許可」を参照してくださいFileIOPermissionSecurityException
引数の列挙値は Attributes 次のとおりです。
|値|定数|説明|
|-|-|-|
|Normal|vbnormal|既定値。 属性を持たないファイルを指定します。|
|ReadOnly|vbReadOnly|属性を持たないファイルに加えて、読み取り専用ファイルを指定します。|
|Hidden|vbHidden|属性を持たないファイルに加えて、非表示のファイルを指定します。|
|System|vbSystem|属性を持たないファイルに加えて、システム ファイルを指定します。|
|Volume|vbVolume|ボリューム ラベルを指定します。他の属性が指定されている場合は無視 vbVolume されます。|
|Directory|vbDirectory|属性を持たないファイルに加えて、ディレクトリまたはフォルダーを指定します。|
|Archive|vbArchive|ファイルは前回のバックアップ以降に変更されています。|
|Alias|vbAlias|ファイルに別の名前が付いています。|

注意

これらの列挙型はVisual Basic言語で指定され、実際の値の代わりにコード内の任意の場所で使用できます。

こちらもご覧ください

適用対象