DirectoryInfo.GetFiles 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
현재 디렉터리에서 파일 목록을 반환합니다.
오버로드
GetFiles(String, EnumerationOptions) |
지정된 검색 패턴 및 열거 옵션과 일치하는 현재 디렉터리의 파일 목록을 반환합니다. |
GetFiles(String, SearchOption) |
하위 디렉터리를 검색할지 여부를 나타내는 값을 사용하여 현재 디렉터리에서 지정된 검색 패턴과 일치하는 파일 목록을 반환합니다. |
GetFiles() |
현재 디렉터리에서 파일 목록을 반환합니다. |
GetFiles(String) |
현재 디렉터리에서 지정된 검색 패턴과 일치하는 파일 목록을 반환합니다. |
GetFiles(String, EnumerationOptions)
- Source:
- DirectoryInfo.cs
- Source:
- DirectoryInfo.cs
- Source:
- 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
메서드에서 GetInvalidPathChars() 정의한 하나 이상의 잘못된 문자를 포함합니다.
searchPattern
이(가) null
인 경우
경로가 잘못된 경우(예: 매핑되지 않은 드라이브의 경로를 지정한 경우)
호출자에게 필요한 권한이 없는 경우
설명
searchPattern
는 리터럴과 와일드카드 문자의 조합일 수 있지만 정규식을 지원하지는 않습니다. 에서 허용되는 와일드카드 지정자는 다음과 같습니다 searchPattern
.
와일드카드 지정자 | 일치하는 항목 |
---|---|
*(별표) | 해당 위치에 0개 이상의 문자가 있습니다. |
? (물음표) | 해당 위치에 있는 문자가 0개 또는 1개입니다. |
와일드카드 이외의 문자는 리터럴 문자입니다. 예를 들어 문자열 "*t"는 문자 "t"로 끝나는 의 모든 이름을 검색합니다. 문자열 "s*"는 searchPattern
문자 "s"로 path
시작하는 의 모든 이름을 검색합니다.
및 GetFiles 메서드는 EnumerateFiles 다음과 같이 다릅니다.
를 사용하면 EnumerateFiles전체 컬렉션이 반환되기 전에 개체 컬렉션을 FileInfo 열거할 수 있습니다.
를 사용하는 GetFiles경우 배열에 액세스하기 전에 개체의 FileInfo 전체 배열이 반환될 때까지 기다려야 합니다.
따라서 많은 파일 및 디렉터리 EnumerateFiles 로 작업할 때 보다 효율적일 수 있습니다.
에 DirectoryInfo파일이 없으면 이 메서드는 빈 배열을 반환합니다.
매개 변수에는 다음 와일드카드 지정자가 허용 searchPattern
됩니다.
와일드카드 문자 | Description |
---|---|
* | 문자가 0개 이상입니다. |
? | 정확히 0개 또는 1개의 문자입니다. |
반환된 파일 이름의 순서는 보장되지 않습니다. 특정 정렬 순서가 Sort 필요한 경우 메서드를 사용합니다.
와일드카드가 지원됩니다. 예를 들어 searchPattern
문자열 "*.txt"은 "txt" 확장명을 가진 모든 파일 이름을 검색합니다. 문자열 "s*"는 searchPattern
문자 "s"로 시작하는 모든 파일 이름을 검색합니다. 에 문자열과 일치하는 searchPattern
DirectoryInfo파일이 없거나 파일이 없으면 이 메서드는 빈 배열을 반환합니다.
참고
에서 별표 와일드카드 문자 searchPattern
(예: "*.txt")를 사용하는 경우 일치하는 동작은 지정된 파일 확장명 길이에 따라 달라집니다. searchPattern
정확히 세 문자의 파일 확장명을 가진 은 3자 이상의 확장명을 가진 파일을 반환합니다. 여기서 처음 세 문자는 에 searchPattern
지정된 파일 확장명과 일치합니다. searchPattern
파일 확장명이 1자, 2자 또는 3자 이상인 은 에 searchPattern
지정된 파일 확장명과 정확히 일치하는 확장명이 있는 파일만 반환합니다. 물음표 와일드카드 문자를 사용하는 경우 이 메서드는 지정된 파일 확장명에서 일치하는 파일만 반환합니다. 예를 들어 디렉터리에 "file1.txt" 및 "file1.txtother"라는 두 개의 파일이 있는 경우 "file?.txt"의 검색 패턴은 첫 번째 파일만 반환하고 "file*.txt"의 검색 패턴은 두 파일을 모두 반환합니다.
참고
이 메서드는 8.3 파일 이름 형식과 긴 파일 이름 형식을 모두 사용하여 파일 이름을 확인하므로 "*1*.txt"과 유사한 검색 패턴은 예기치 않은 파일 이름을 반환할 수 있습니다. 예를 들어 "*1*.txt"의 검색 패턴을 사용하면 해당 8.3 파일 이름 형식이 "longf~1.txt"이기 때문에 "longfilename.txt"이 반환됩니다.
이 메서드는 다음 FileInfo 속성의 값을 미리 채웁니다.
적용 대상
GetFiles(String, SearchOption)
- Source:
- DirectoryInfo.cs
- Source:
- DirectoryInfo.cs
- Source:
- 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
검색 작업에 현재 디렉터리만 포함할지 아니면 모든 하위 디렉터리를 포함할지를 지정하는 열거형 값 중 하나입니다.
반환
FileInfo 형식의 배열입니다.
예외
.NET Framework 및 .NET Core 버전이 2.1 이전 버전: searchPattern
메서드에서 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
.
와일드카드 문자 | Description |
---|---|
*(별표) | 문자가 0개 이상입니다. |
? (물음표) | 정확히 0개 또는 1개의 문자입니다. |
반환된 파일 이름의 순서는 보장되지 않습니다. 특정 정렬 순서가 Sort 필요한 경우 메서드를 사용합니다.
와일드카드가 지원됩니다. 예를 들어 searchPattern
문자열 "*.txt"은 "txt" 확장명을 가진 모든 파일 이름을 검색합니다. 문자열 "s*"는 searchPattern
문자 "s"로 시작하는 모든 파일 이름을 검색합니다. 에 문자열과 일치하는 searchPattern
DirectoryInfo파일이 없거나 파일이 없으면 이 메서드는 빈 배열을 반환합니다.
참고
에서 별표 와일드카드 문자 searchPattern
(예: "*.txt")를 사용하는 경우 일치하는 동작은 지정된 파일 확장명 길이에 따라 달라집니다. searchPattern
정확히 세 문자의 파일 확장명을 가진 은 3자 이상의 확장명을 가진 파일을 반환합니다. 여기서 처음 세 문자는 에 searchPattern
지정된 파일 확장명과 일치합니다. searchPattern
파일 확장명이 1자, 2자 또는 3자 이상인 은 에 searchPattern
지정된 파일 확장명과 정확히 일치하는 확장명이 있는 파일만 반환합니다. 물음표 와일드카드 문자를 사용하는 경우 이 메서드는 지정된 파일 확장명에서 일치하는 파일만 반환합니다. 예를 들어 디렉터리에 "file1.txt" 및 "file1.txtother"라는 두 개의 파일이 있는 경우 "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()
- Source:
- DirectoryInfo.cs
- Source:
- DirectoryInfo.cs
- Source:
- 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)
- Source:
- DirectoryInfo.cs
- Source:
- DirectoryInfo.cs
- Source:
- 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
메서드에서 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"로 끝나는 의 모든 이름을 검색합니다. 문자열 "s*"는 searchPattern
문자 "s"로 path
시작하는 의 모든 이름을 검색합니다.
및 GetFiles 메서드는 EnumerateFiles 다음과 같이 다릅니다.
를 사용하면 EnumerateFiles전체 컬렉션이 반환되기 전에 개체 컬렉션을 FileInfo 열거할 수 있습니다.
를 사용하는 GetFiles경우 배열에 액세스하기 전에 개체의 FileInfo 전체 배열이 반환될 때까지 기다려야 합니다.
따라서 많은 파일 및 디렉터리 EnumerateFiles 로 작업할 때 보다 효율적일 수 있습니다.
에 DirectoryInfo파일이 없으면 이 메서드는 빈 배열을 반환합니다.
매개 변수에는 다음 와일드카드 지정자가 허용 searchPattern
됩니다.
와일드카드 문자 | Description |
---|---|
* | 문자가 0개 이상입니다. |
? | 정확히 0개 또는 1개의 문자입니다. |
반환된 파일 이름의 순서는 보장되지 않습니다. 특정 정렬 순서가 Sort 필요한 경우 메서드를 사용합니다.
와일드카드가 지원됩니다. 예를 들어 searchPattern
문자열 "*.txt"은 "txt" 확장명을 가진 모든 파일 이름을 검색합니다. 문자열 "s*"는 searchPattern
문자 "s"로 시작하는 모든 파일 이름을 검색합니다. 에 문자열과 일치하는 searchPattern
DirectoryInfo파일이 없거나 파일이 없으면 이 메서드는 빈 배열을 반환합니다.
참고
에서 별표 와일드카드 문자 searchPattern
(예: "*.txt")를 사용하는 경우 일치하는 동작은 지정된 파일 확장명 길이에 따라 달라집니다. searchPattern
정확히 세 문자의 파일 확장명을 가진 은 3자 이상의 확장명을 가진 파일을 반환합니다. 여기서 처음 세 문자는 에 searchPattern
지정된 파일 확장명과 일치합니다. searchPattern
파일 확장명이 1자, 2자 또는 3자 이상인 은 에 searchPattern
지정된 파일 확장명과 정확히 일치하는 확장명이 있는 파일만 반환합니다. 물음표 와일드카드 문자를 사용하는 경우 이 메서드는 지정된 파일 확장명에서 일치하는 파일만 반환합니다. 예를 들어 디렉터리에 "file1.txt" 및 "file1.txtother"라는 두 개의 파일이 있는 경우 "file?.txt"의 검색 패턴은 첫 번째 파일만 반환하고 "file*.txt"의 검색 패턴은 두 파일을 모두 반환합니다.
참고
이 메서드는 8.3 파일 이름 형식과 긴 파일 이름 형식을 모두 사용하여 파일 이름을 확인하므로 "*1*.txt"과 유사한 검색 패턴은 예기치 않은 파일 이름을 반환할 수 있습니다. 예를 들어 "*1*.txt"의 검색 패턴을 사용하면 해당 8.3 파일 이름 형식이 "longf~1.txt"이기 때문에 "longfilename.txt"이 반환됩니다.
이 메서드는 다음 FileInfo 속성의 값을 미리 채웁니다.
추가 정보
적용 대상
.NET