DirectoryInfo.GetFiles メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在のディレクトリからファイル一覧を返します。
オーバーロード
GetFiles(String, EnumerationOptions) |
指定した検索パターンと列挙オプションに一致する現在のディレクトリからファイル一覧を返します。 |
GetFiles(String, SearchOption) |
現在のディレクトリから、指定した検索パターンに一致し、サブディレクトリを検索するかどうかを決定する値を持つファイル一覧を返します。 |
GetFiles() |
現在のディレクトリからファイル一覧を返します。 |
GetFiles(String) |
現在のディレクトリから、指定した検索パターンに一致するファイル一覧を返します。 |
GetFiles(String, EnumerationOptions)
- ソース:
- DirectoryInfo.cs
- ソース:
- DirectoryInfo.cs
- ソース:
- DirectoryInfo.cs
指定した検索パターンと列挙オプションに一致する現在のディレクトリからファイル一覧を返します。
public:
cli::array <System::IO::FileInfo ^> ^ GetFiles(System::String ^ searchPattern, System::IO::EnumerationOptions ^ enumerationOptions);
public System.IO.FileInfo[] GetFiles (string searchPattern, System.IO.EnumerationOptions enumerationOptions);
member this.GetFiles : string * System.IO.EnumerationOptions -> System.IO.FileInfo[]
Public Function GetFiles (searchPattern As String, enumerationOptions As EnumerationOptions) As FileInfo()
パラメーター
- searchPattern
- String
ファイル名と照合する検索文字列。 このパラメーターには有効なリテラルのパスとワイルドカード (* と ?) 文字の組み合わせを含めることができますが、正規表現はサポートされていません。
- enumerationOptions
- EnumerationOptions
使用する検索と列挙の構成を記述するオブジェクト。
戻り値
searchPattern
と enumerationOptions
に一致する、厳密に型指定された FileInfo オブジェクトの配列。
例外
.NET Framework バージョンと .NET Core バージョンが 2.1 より前の場合: searchPattern
メソッドによって定義された 1 つ以上の無効な文字がGetInvalidPathChars()含まれています。
searchPattern
が null
です。
パスが正しくありません (たとえば、マップされていないドライブにあるなど)。
呼び出し元に、必要なアクセス許可がありません。
注釈
searchPattern
にはリテラル文字とワイルドカード文字の組み合わせを指定できますが、正規表現はサポートされていません。 では、次のワイルドカード指定子を searchPattern
使用できます。
ワイルドカード指定子 | [一致する] |
---|---|
* (アスタリスク) | その位置の 0 個以上の文字。 |
? (疑問符) | その位置の 0 文字または 1 文字。 |
ワイルドカード以外の文字はリテラル文字です。 たとえば、文字列 "*t" は文字 "t" で終わるすべての名前を検索します。 searchPattern
文字列 "s*" は、文字 "s" でpath
始まるすべての名前を検索します。
メソッドと GetFiles メソッドはEnumerateFiles次のように異なります。
を使用 EnumerateFilesすると、コレクション全体が返される前に、オブジェクトのコレクションの FileInfo 列挙を開始できます。
を使用 GetFilesする場合は、配列にアクセスする前に、オブジェクトの FileInfo 配列全体が返されるのを待つ必要があります。
そのため、多くのファイルとディレクトリを操作する場合は、 EnumerateFiles の方が効率的です。
にファイルがない場合、 DirectoryInfoこのメソッドは空の配列を返します。
パラメーターでは、次のワイルドカード指定子を searchPattern
使用できます。
ワイルドカード文字 | 説明 |
---|---|
* | 0 個以上の文字。 |
? | 正確に 0 文字または 1 文字。 |
返されるファイル名の順序は保証されません。特定の Sort 並べ替え順序が必要な場合は、 メソッドを使用します。
ワイルドカードを使用できます。 たとえば、 searchPattern
文字列 "*.txt" は、拡張子が "txt" のすべてのファイル名を検索します。 searchPattern
文字列 "s*" は、文字 "s" で始まるすべてのファイル名を検索します。 ファイルがない場合、または 内のDirectoryInfo文字列とsearchPattern
一致するファイルがない場合、このメソッドは空の配列を返します。
注意
でアスタリスク ワイルドカード文字 searchPattern
("*.txt" など) を使用する場合、一致動作は指定したファイル拡張子の長さによって異なります。 ファイル拡張子が 3 文字の は searchPattern
、拡張子が 3 文字以上のファイルを返します。最初の 3 文字は、 で searchPattern
指定されたファイル拡張子と一致します。 searchPattern
ファイル拡張子が 1 文字、2 文字、または 3 文字を超える は、 でsearchPattern
指定されたファイル拡張子と完全に一致する長さの拡張子を持つファイルのみを返します。 疑問符ワイルドカード文字を使用する場合、このメソッドは指定したファイル拡張子に一致するファイルのみを返します。 たとえば、ディレクトリに "file1.txt" と "file1.txtother" という 2 つのファイルがある場合、"file?.txt" の検索パターンは最初のファイルのみを返し、"file*.txt" の検索パターンは両方のファイルを返します。
注意
このメソッドは、8.3 ファイル名形式と長いファイル名形式の両方を持つファイル名をチェックするため、"*1*.txt" のような検索パターンで予期しないファイル名が返される場合があります。 たとえば、"*1*.txt" の検索パターンを使用すると、同等の 8.3 ファイル名形式は "longf~1.txt" になるため、"longfilename.txt" が返されます。
このメソッドは、次 FileInfo のプロパティの値を事前に設定します。
適用対象
GetFiles(String, SearchOption)
- ソース:
- DirectoryInfo.cs
- ソース:
- DirectoryInfo.cs
- ソース:
- DirectoryInfo.cs
現在のディレクトリから、指定した検索パターンに一致し、サブディレクトリを検索するかどうかを決定する値を持つファイル一覧を返します。
public:
cli::array <System::IO::FileInfo ^> ^ GetFiles(System::String ^ searchPattern, System::IO::SearchOption searchOption);
public System.IO.FileInfo[] GetFiles (string searchPattern, System.IO.SearchOption searchOption);
member this.GetFiles : string * System.IO.SearchOption -> System.IO.FileInfo[]
Public Function GetFiles (searchPattern As String, searchOption As SearchOption) As FileInfo()
パラメーター
- searchPattern
- String
ファイル名と照合する検索文字列。 このパラメーターには有効なリテラルのパスとワイルドカード (* と ?) 文字の組み合わせを含めることができますが、正規表現はサポートされていません。
- searchOption
- SearchOption
検索操作に現在のディレクトリのみを含めるのか、またはすべてのサブディレクトリを含めるのかを指定する列挙値の 1 つ。
戻り値
FileInfo 型の配列。
例外
.NET Framework バージョンと .NET Core バージョンが 2.1 より前の場合: searchPattern
メソッドによって定義された 1 つ以上の無効な文字がGetInvalidPathChars()含まれています。
searchPattern
が null
です。
searchOption
は正しい SearchOption 値ではありません。
パスが正しくありません (たとえば、マップされていないドライブにあるなど)。
呼び出し元に、必要なアクセス許可がありません。
例
次の例では、さまざまな検索オプションを使用してディレクトリからファイルの一覧を取得する方法を示します。 この例では、log1.txt、log2.txt、test1.txt、test2.txt、test3.txt、および SubFile.txt という名前のファイルを持つサブディレクトリという名前のファイルを含むディレクトリを想定しています。
using System;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DirectoryInfo di = new DirectoryInfo(@"C:\Users\tomfitz\Documents\ExampleDir");
Console.WriteLine("No search pattern returns:");
foreach (var fi in di.GetFiles())
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern *2* returns:");
foreach (var fi in di.GetFiles("*2*"))
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern test?.txt returns:");
foreach (var fi in di.GetFiles("test?.txt"))
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern AllDirectories returns:");
foreach (var fi in di.GetFiles("*", SearchOption.AllDirectories))
{
Console.WriteLine(fi.Name);
}
}
}
}
/*
This code produces output similar to the following:
No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
Search pattern *2* returns:
log2.txt
test2.txt
Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt
Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*/
open System.IO
let di = DirectoryInfo @"C:\Users\tomfitz\Documents\ExampleDir"
printfn "No search pattern returns:"
for fi in di.GetFiles() do
printfn $"{fi.Name}"
printfn "\nSearch pattern *2* returns:"
for fi in di.GetFiles "*2*" do
printfn $"{fi.Name}"
printfn "\nSearch pattern test?.txt returns:"
for fi in di.GetFiles "test?.txt" do
printfn $"{fi.Name}"
printfn "\nSearch pattern AllDirectories returns:"
for fi in di.GetFiles("*", SearchOption.AllDirectories) do
printfn $"{fi.Name}"
(*
This code produces output similar to the following:
No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
Search pattern *2* returns:
log2.txt
test2.txt
Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt
Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*)
Imports System.IO
Module Module1
Sub Main()
Dim di As DirectoryInfo = New DirectoryInfo("C:\ExampleDir")
Console.WriteLine("No search pattern returns:")
For Each fi In di.GetFiles()
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern *2* returns:")
For Each fi In di.GetFiles("*2*")
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern test?.txt returns:")
For Each fi In di.GetFiles("test?.txt")
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern AllDirectories returns:")
For Each fi In di.GetFiles("*", SearchOption.AllDirectories)
Console.WriteLine(fi.Name)
Next
End Sub
End Module
' This code produces output similar to the following:
' No search pattern returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' Search pattern *2* returns:
' log2.txt
' test2.txt
' Search pattern test?.txt returns:
' test1.txt
' test2.txt
' test3.txt
' Search pattern AllDirectories returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' SubFile.txt
' Press any key to continue . . .
注釈
メソッドと GetFiles メソッドはEnumerateFiles次のように異なります。
を使用 EnumerateFilesすると、コレクション全体が返される前に、オブジェクトのコレクションの FileInfo 列挙を開始できます。
を使用 GetFilesする場合は、配列にアクセスする前に、オブジェクトの FileInfo 配列全体が返されるのを待つ必要があります。
そのため、多くのファイルとディレクトリを操作する場合は、 EnumerateFiles の方が効率的です。
にファイルがない場合、 DirectoryInfoこのメソッドは空の配列を返します。
では、次のワイルドカード指定子を searchPattern
使用できます。
ワイルドカード文字 | 説明 |
---|---|
* (アスタリスク) | 0 個以上の文字。 |
? (疑問符) | 正確に 0 文字または 1 文字。 |
返されるファイル名の順序は保証されません。特定の Sort 並べ替え順序が必要な場合は、 メソッドを使用します。
ワイルドカードを使用できます。 たとえば、 searchPattern
文字列 "*.txt" は、拡張子が "txt" のすべてのファイル名を検索します。 searchPattern
文字列 "s*" は、文字 "s" で始まるすべてのファイル名を検索します。 ファイルがない場合、または 内のDirectoryInfo文字列とsearchPattern
一致するファイルがない場合、このメソッドは空の配列を返します。
注意
でアスタリスク ワイルドカード文字 searchPattern
("*.txt" など) を使用する場合、一致動作は指定したファイル拡張子の長さによって異なります。 ファイル拡張子が 3 文字の は searchPattern
、拡張子が 3 文字以上のファイルを返します。最初の 3 文字は、 で searchPattern
指定されたファイル拡張子と一致します。 searchPattern
ファイル拡張子が 1 文字、2 文字、または 3 文字を超える は、 でsearchPattern
指定されたファイル拡張子と完全に一致する長さの拡張子を持つファイルのみを返します。 疑問符ワイルドカード文字を使用する場合、このメソッドは指定したファイル拡張子に一致するファイルのみを返します。 たとえば、ディレクトリに "file1.txt" と "file1.txtother" という 2 つのファイルがある場合、"file?.txt" の検索パターンは最初のファイルのみを返し、"file*.txt" の検索パターンは両方のファイルを返します。
次の一覧は、 パラメーターのさまざまな長さの動作を searchPattern
示しています。
"*.abc" は、拡張子が .abc、.abcd、.abcde、.abcdef などのファイルを返します。
"*.abcd" は、拡張子が .abcd のファイルのみを返します。
"*.abcde" は、拡張子が .abcde のファイルのみを返します。
"*.abcdef" は、拡張子が .abcdef のファイルのみを返します。
注意
このメソッドは、8.3 ファイル名形式と長いファイル名形式の両方を持つファイル名をチェックするため、"*1*.txt" のような検索パターンで予期しないファイル名が返される場合があります。 たとえば、"*1*.txt" の検索パターンを使用すると、同等の 8.3 ファイル名形式は "longf~1.txt" になるため、"longfilename.txt" が返されます。
このメソッドは、次 FileInfo のプロパティの値を事前に設定します。
こちらもご覧ください
適用対象
GetFiles()
- ソース:
- DirectoryInfo.cs
- ソース:
- DirectoryInfo.cs
- ソース:
- DirectoryInfo.cs
現在のディレクトリからファイル一覧を返します。
public:
cli::array <System::IO::FileInfo ^> ^ GetFiles();
public System.IO.FileInfo[] GetFiles ();
member this.GetFiles : unit -> System.IO.FileInfo[]
Public Function GetFiles () As FileInfo()
戻り値
FileInfo 型の配列。
例外
マップされていないドライブにあるなど、パスが正しくありません。
例
次の例では、さまざまな検索オプションを使用してディレクトリからファイルの一覧を取得する方法を示します。 この例では、log1.txt、log2.txt、test1.txt、test2.txt、test3.txt、および SubFile.txt という名前のファイルを持つサブディレクトリという名前のファイルを含むディレクトリを想定しています。
using System;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DirectoryInfo di = new DirectoryInfo(@"C:\Users\tomfitz\Documents\ExampleDir");
Console.WriteLine("No search pattern returns:");
foreach (var fi in di.GetFiles())
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern *2* returns:");
foreach (var fi in di.GetFiles("*2*"))
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern test?.txt returns:");
foreach (var fi in di.GetFiles("test?.txt"))
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern AllDirectories returns:");
foreach (var fi in di.GetFiles("*", SearchOption.AllDirectories))
{
Console.WriteLine(fi.Name);
}
}
}
}
/*
This code produces output similar to the following:
No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
Search pattern *2* returns:
log2.txt
test2.txt
Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt
Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*/
open System.IO
let di = DirectoryInfo @"C:\Users\tomfitz\Documents\ExampleDir"
printfn "No search pattern returns:"
for fi in di.GetFiles() do
printfn $"{fi.Name}"
printfn "\nSearch pattern *2* returns:"
for fi in di.GetFiles "*2*" do
printfn $"{fi.Name}"
printfn "\nSearch pattern test?.txt returns:"
for fi in di.GetFiles "test?.txt" do
printfn $"{fi.Name}"
printfn "\nSearch pattern AllDirectories returns:"
for fi in di.GetFiles("*", SearchOption.AllDirectories) do
printfn $"{fi.Name}"
(*
This code produces output similar to the following:
No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
Search pattern *2* returns:
log2.txt
test2.txt
Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt
Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*)
Imports System.IO
Module Module1
Sub Main()
Dim di As DirectoryInfo = New DirectoryInfo("C:\ExampleDir")
Console.WriteLine("No search pattern returns:")
For Each fi In di.GetFiles()
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern *2* returns:")
For Each fi In di.GetFiles("*2*")
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern test?.txt returns:")
For Each fi In di.GetFiles("test?.txt")
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern AllDirectories returns:")
For Each fi In di.GetFiles("*", SearchOption.AllDirectories)
Console.WriteLine(fi.Name)
Next
End Sub
End Module
' This code produces output similar to the following:
' No search pattern returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' Search pattern *2* returns:
' log2.txt
' test2.txt
' Search pattern test?.txt returns:
' test1.txt
' test2.txt
' test3.txt
' Search pattern AllDirectories returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' SubFile.txt
' Press any key to continue . . .
注釈
メソッドと GetFiles メソッドはEnumerateFiles次のように異なります。
を使用 EnumerateFilesすると、コレクション全体が返される前に、オブジェクトのコレクションの FileInfo 列挙を開始できます。
を使用 GetFilesする場合は、配列にアクセスする前に、オブジェクトの FileInfo 配列全体が返されるのを待つ必要があります。
そのため、多くのファイルとディレクトリを操作する場合は、 EnumerateFiles の方が効率的です。
にファイルがない場合、 DirectoryInfoこのメソッドは空の配列を返します。
返されるファイル名の順序は保証されません。特定の Sort 並べ替え順序が必要な場合は、 メソッドを使用します。
このメソッドは、次 FileInfo のプロパティの値を事前に設定します。
こちらもご覧ください
適用対象
GetFiles(String)
- ソース:
- DirectoryInfo.cs
- ソース:
- DirectoryInfo.cs
- ソース:
- DirectoryInfo.cs
現在のディレクトリから、指定した検索パターンに一致するファイル一覧を返します。
public:
cli::array <System::IO::FileInfo ^> ^ GetFiles(System::String ^ searchPattern);
public System.IO.FileInfo[] GetFiles (string searchPattern);
member this.GetFiles : string -> System.IO.FileInfo[]
Public Function GetFiles (searchPattern As String) As FileInfo()
パラメーター
- searchPattern
- String
ファイル名と照合する検索文字列。 このパラメーターには有効なリテラルのパスとワイルドカード (* と ?) 文字の組み合わせを含めることができますが、正規表現はサポートされていません。
戻り値
FileInfo 型の配列。
例外
.NET Framework バージョンと .NET Core バージョンが 2.1 より前の場合: searchPattern
メソッドによって定義された 1 つ以上の無効な文字がGetInvalidPathChars()含まれています。
searchPattern
が null
です。
パスが正しくありません (たとえば、マップされていないドライブにあるなど)。
呼び出し元に、必要なアクセス許可がありません。
例
次の例では、さまざまな検索オプションを使用してディレクトリからファイルの一覧を取得する方法を示します。 この例では、log1.txt、log2.txt、test1.txt、test2.txt、test3.txt、および SubFile.txt という名前のファイルを持つサブディレクトリという名前のファイルを含むディレクトリを想定しています。
using System;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DirectoryInfo di = new DirectoryInfo(@"C:\Users\tomfitz\Documents\ExampleDir");
Console.WriteLine("No search pattern returns:");
foreach (var fi in di.GetFiles())
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern *2* returns:");
foreach (var fi in di.GetFiles("*2*"))
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern test?.txt returns:");
foreach (var fi in di.GetFiles("test?.txt"))
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern AllDirectories returns:");
foreach (var fi in di.GetFiles("*", SearchOption.AllDirectories))
{
Console.WriteLine(fi.Name);
}
}
}
}
/*
This code produces output similar to the following:
No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
Search pattern *2* returns:
log2.txt
test2.txt
Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt
Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*/
open System.IO
let di = DirectoryInfo @"C:\Users\tomfitz\Documents\ExampleDir"
printfn "No search pattern returns:"
for fi in di.GetFiles() do
printfn $"{fi.Name}"
printfn "\nSearch pattern *2* returns:"
for fi in di.GetFiles "*2*" do
printfn $"{fi.Name}"
printfn "\nSearch pattern test?.txt returns:"
for fi in di.GetFiles "test?.txt" do
printfn $"{fi.Name}"
printfn "\nSearch pattern AllDirectories returns:"
for fi in di.GetFiles("*", SearchOption.AllDirectories) do
printfn $"{fi.Name}"
(*
This code produces output similar to the following:
No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
Search pattern *2* returns:
log2.txt
test2.txt
Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt
Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*)
Imports System.IO
Module Module1
Sub Main()
Dim di As DirectoryInfo = New DirectoryInfo("C:\ExampleDir")
Console.WriteLine("No search pattern returns:")
For Each fi In di.GetFiles()
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern *2* returns:")
For Each fi In di.GetFiles("*2*")
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern test?.txt returns:")
For Each fi In di.GetFiles("test?.txt")
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern AllDirectories returns:")
For Each fi In di.GetFiles("*", SearchOption.AllDirectories)
Console.WriteLine(fi.Name)
Next
End Sub
End Module
' This code produces output similar to the following:
' No search pattern returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' Search pattern *2* returns:
' log2.txt
' test2.txt
' Search pattern test?.txt returns:
' test1.txt
' test2.txt
' test3.txt
' Search pattern AllDirectories returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' SubFile.txt
' Press any key to continue . . .
注釈
searchPattern
にはリテラル文字とワイルドカード文字の組み合わせを指定できますが、正規表現はサポートされていません。 では、次のワイルドカード指定子を searchPattern
使用できます。
ワイルドカード指定子 | [一致する] |
---|---|
* (アスタリスク) | その位置の 0 個以上の文字。 |
? (疑問符) | その位置の 0 文字または 1 文字。 |
ワイルドカード以外の文字はリテラル文字です。 たとえば、文字列 "*t" は文字 "t" で終わるすべての名前を検索します。 searchPattern
文字列 "s*" は、文字 "s" でpath
始まるすべての名前を検索します。
メソッドと GetFiles メソッドはEnumerateFiles次のように異なります。
を使用 EnumerateFilesすると、コレクション全体が返される前に、オブジェクトのコレクションの FileInfo 列挙を開始できます。
を使用 GetFilesする場合は、配列にアクセスする前に、オブジェクトの FileInfo 配列全体が返されるのを待つ必要があります。
そのため、多くのファイルとディレクトリを操作する場合は、 EnumerateFiles の方が効率的です。
にファイルがない場合、 DirectoryInfoこのメソッドは空の配列を返します。
パラメーターでは、次のワイルドカード指定子を searchPattern
使用できます。
ワイルドカード文字 | 説明 |
---|---|
* | 0 個以上の文字。 |
? | 正確に 0 文字または 1 文字。 |
返されるファイル名の順序は保証されません。特定の Sort 並べ替え順序が必要な場合は、 メソッドを使用します。
ワイルドカードを使用できます。 たとえば、 searchPattern
文字列 "*.txt" は、拡張子が "txt" のすべてのファイル名を検索します。 searchPattern
文字列 "s*" は、文字 "s" で始まるすべてのファイル名を検索します。 ファイルがない場合、または 内のDirectoryInfo文字列とsearchPattern
一致するファイルがない場合、このメソッドは空の配列を返します。
注意
でアスタリスク ワイルドカード文字 searchPattern
("*.txt" など) を使用する場合、一致動作は指定したファイル拡張子の長さによって異なります。 ファイル拡張子が 3 文字の は searchPattern
、拡張子が 3 文字以上のファイルを返します。最初の 3 文字は、 で searchPattern
指定されたファイル拡張子と一致します。 searchPattern
ファイル拡張子が 1 文字、2 文字、または 3 文字を超える は、 でsearchPattern
指定されたファイル拡張子と完全に一致する長さの拡張子を持つファイルのみを返します。 疑問符ワイルドカード文字を使用する場合、このメソッドは指定したファイル拡張子に一致するファイルのみを返します。 たとえば、ディレクトリに "file1.txt" と "file1.txtother" という 2 つのファイルがある場合、"file?.txt" の検索パターンは最初のファイルのみを返し、"file*.txt" の検索パターンは両方のファイルを返します。
注意
このメソッドは、8.3 ファイル名形式と長いファイル名形式の両方を持つファイル名をチェックするため、"*1*.txt" のような検索パターンで予期しないファイル名が返される場合があります。 たとえば、"*1*.txt" の検索パターンを使用すると、同等の 8.3 ファイル名形式は "longf~1.txt" になるため、"longfilename.txt" が返されます。
このメソッドは、次 FileInfo のプロパティの値を事前に設定します。
こちらもご覧ください
適用対象
.NET