2017-09-29 7 views
0

나는 이것이 곧은 질문이라고 믿는다. 코드를 작성 C 드라이브. NET 디렉터리에서 모든 폴더에있는 파일 찾기

If IO.File.Exists("C:\text.txt") Then 

     MessageBox.Show("Found text file") 
    Else 

     MessageBox.Show("Not Found") 
End If 

에서 라는 이름의 파일 text.txt를 찾으려면 "C : \ text.txt" 하위 폴더에 위치 할 때 찾을 수 없습니다. 이 구문에는 어떤 구문을 사용해야합니까?

나는 솔루션을 찾는 데 많은 시간을 할애하여 여기에 쉬운 질문을합니다.

감사합니다.

+0

에서 살펴 '그럼 당신은 이미 그 해답을 알고 있습니다. 아직 설명서를 읽지 않았다면 설명서를 읽지 않은 이유는 무엇입니까? 도움말 메뉴는 장식용으로 VS에 없습니다. 유형 또는 메소드에 대한 도움말을 보려면 도움말 메뉴를 사용하여 해당 유형 또는 메소드에 대한 문서를여십시오. 그렇게 한 후에야 필요할 때 다른 정보 출처를 고려해야합니다. – jmcilhinney

+0

이것은 C#이지만 https://stackoverflow.com/questions/3994448/how-to-check-if-a-specific-file-exists-in-directory-or-any-of-its-subdirectories –

+0

@jmcilhinney 감사합니다. 당신은 답장을 위해 File.Exists doc을 읽었으며 파일을 찾기 위해 정확한 위치 (하위 폴더)를 가리켜 야합니다. 나는 여전히 프로그래밍에서 초보자이므로 솔루션을 찾는 가장 좋은 방법은 아직 확실치 않습니다. – Tim

답변

4

Directory.GetFiles (String, String, SearchOption) 메서드를 사용하면 지정된 검색 패턴과 일치하는 파일의 이름 (경로 포함)을 지정된 디렉터리에서 하위 디렉터리 검색 여부를 결정하는 값을 사용하여 반환 할 수 있습니다.

예를 들어 :

If System.IO.Directory.GetFiles("C:\Users\You\Desktop", "file.txt", IO.SearchOption.AllDirectories).Length > 0 Then 
    MsgBox("Found!") 
Else 
    MsgBox("Not found!") 
End If 
+0

안녕하세요, 나는 ur 제안을 구현 Directory.GetFiles (@ "C : \", "text.txt", SearchOption.AllDirectories) 그것은 "@"표현식에 대한 오류를 예상했다. 이것에 대한 어떤 생각? 감사! – Tim

+0

@Tim : '@'을 제거하면 C# 코드에만 적용됩니다. –

+0

@VisualVincent 안녕하세요, get 디렉토리 can not가 if 문에 들어가는 것 같습니다. "문자열의 1 차원 배열을 부울로 변환 할 수 없습니다."... 제발 저에게 계몽하십시오. 감사. – Tim

0

string curFile = @"c:\temp\test.txt"; 
Console.WriteLine(File.Exists(curFile) ? "File exists." : "File does not exist."); 

을 시도하거나 당신이`File.Exists에 대한 설명서를 읽은 경우이 링크

How to check if a file exists in a folder?