2011-09-02 2 views
8

다음 코드 조각이 있습니다.와일드 카드로 디렉토리 경로를 지정할 수 있습니까?

foreach (string file in Directory.GetFiles(sourcePath)) 
{ 
    // whatever 
} 

특정 디렉토리에서 파일을 가져옵니다. 와일드 카드를 사용하여 디렉토리를 일치시킬 수 있습니까? 예를 들면 다음과 같습니다.

c:\test\di* 

는 디렉토리의 모든 파일과 일치합니다.

c:\test\dictionary\ 
c:\test\directory\ 
c:\test\dig\ 

GetFiles 메소드에 파일 필터를 전달할 수 있지만 디렉토리 이름이 아닌 파일에만 적용됩니다.

답변

10

당신은 당신이 another overload 거기 검색 옵션을 지정해야하는 경우가 검색 패턴을 지정하거나 할 수 있도록이에 대한 overload이 디렉토리를 지정할 때. 귀하의 예제는 특정 디렉토리에서`di`로 시작하는 파일 만 가져올 수 없습니다.
+0

내가 그 파일 필터이며, 와일드 카드의 사용을 허용하지 않습니다 믿습니다 –

+2

@Abe Miessler, 아니요, 디렉토리 이름이 완벽하게 작동합니다. 'Directory.GetDirectories (@ "c : \ test", "di *"))'는 질문에 표시된 모든 디렉토리와 일치합니다. –

+0

오! 좋아, 내가 시험합시다. –

관련 문제