2013-09-03 2 views
0

"내 문서"내의 가능한 모든 디렉터리에서 파일을 찾으려고했지만 "내 음악"폴더 때문에 "System.UnauthorizedAccessException"예외가 발생합니다.UnauthorizedAccessException을받지 않고 폴더에서 파일 검색

나는 어쩌면 그래서 지금 ...

을 한 후 "내 음악"의 경로를 얻고 문제를 해결할 검색되는 것을 제외하고, "내 문서"내 모든 폴더를 나열하지만, ​​실패 생각 I 예외를 얻지 않고 "내 문서"안의 모든 폴더 내에서 특정 ".ini"파일을 찾는 방법을 모르는 사람이 있습니까? :) 내가 사용

코드 :

DirectoryInfo dir = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)); 
foreach(FileInfo file in dir.GetFiles("*.ini", SearchOption.AllDirectories)) 
{ 
    listBox1.Items.Add(file.Name); 
} 

답변

0

가 아닌 다른 다루는 많은 문제가 있습니다 현재 System.UnauthorizedAccessException 예 : "재분석 지점"(하드 링크, 연결 지점, 심볼릭 링크 등) 등.

Folder Recursion

그것은 내 마음에 와서 모든 문제를 다루지는 않지만 기사에 주어진 솔루션은 매우 좋다 :

당신은 정말 더 진행하기 전에이 문서를 읽어야합니다 올바른 방향으로 나아가서 '알려지지 않은 것들'을 많이 피하십시오.

편집 : 이들은 SpecialFolder 객체를 구성하는 등 윈도우 7, 8?에 (AFAIK) 사용되기 때문에 //

나는 재분석 지점을 언급. 예를 들어

:

"C:\Users\UserName\My Documents""C:\Users\UserName\Documents" 가리키는 NTFS 접합이다.

내가 이렇게 당신을 보내,이 접합/기호 링크를 통해 "C:\Users\UserName\Documents" 액세스, 말, 관리자를 누구를 허용하지 "C:\Users\UserName\My Documents"에 ACL 설정에서 저를 방지하지만 것 명시 적 규정이 없기 때문에이 점을 지적하는 것이 중요하다고 생각 아직 또 다른 토끼 구멍 :-)

+0

링크 메이트 주셔서 감사합니다, 내가 필요한 모든 시도 - 캐치 블록, 간단하지만 그것에 대해 생각하지 않았다 .. 다시 한번 감사드립니다! – user2732954

+0

내 기쁨! 다행 이군. – EtherealMonkey

관련 문제