2013-03-26 7 views
-2

Windows에서 마지막으로 변경된 파일을 읽고 싶습니다. 문제는 어떤 폴더에 있는지 모르기 때문에 전체 디스크를 검사하거나 "최근 파일"을 사용해야합니다.폴더를 모른 채 Windows에서 마지막으로 변경된 파일 찾기

전체 파일 경로 만 필요합니다. C# 선호.

  • FileWatcher에 대해 많이 읽었지 만 전체 디스크의 파일 감시자는별로 적용되지 않습니다.
  • 나는 모든 디스크에 의 마지막 저장된 파일 검색을 시작하는 정의 된 이벤트 (사용자 클릭)가 있습니다.

모든 폴더에 대한 재귀 검색이 효율적이지 않습니다.

최근에 변경된 파일 목록 (지난 10 초/1 분/...)을 찾고 있습니다. 창문에 그런 것이 있습니까? 사전

+0

이것은 실제 질문이 아닙니다 *. 여기에 일을 보여주세요. 지금까지 무엇을 시도 했습니까? [FAQ]와 [ask] –

+1

을 읽어보십시오. 어려울 것입니다. 수정 된 마지막 파일은 반드시 "최근 파일"아래에 없으며 전체 디스크를 스캔하는 데 몇 시간이 걸릴 것입니다. 디스크가 커질수록 더 커집니다. – Nolonar

+0

테라 바이트와 더 많은 디스크 공간이 있지만 효율적인 기능이 아닙니다. 소스를 편집 할 때는 좀 더 구체적이어야합니다. 전체 디스크를 검사하는 것보다 최상의 솔루션에 대해 더 많이 연구하십시오. 설명 된대로 – Irfan

답변

1

이벤트 로그에서 항목을 모니터링하고 읽을 디렉터리를 감사 할 수 있습니다. 더 자세한 설명은 Programmatically determine user who last modified file on Windows?을 참조하십시오.

사용자를 필요로하지 않아 시스템에서 성능에 대해 확신 할 수 없지만 과도한 공격 일 수 있습니다.하지만 또 다른 옵션입니다.

더 나은 성능을 얻으려면 절대적으로 필요한 폴더 만 모니터링하고 싶을 것입니다. 전체 드라이브를 모니터링하는 것은 성능에 절대적인 영향을 미치며 설계를 재고해야 할 수도 있습니다.

그런 다음 폴더 하위 집합으로이 방법을 사용하고 FileSystemWatcher을 구현할 수도 있습니다.

+0

downvote에 대한 설명? – jordanhill123

+0

내 downvote 아니지만, 이것은 내가 찾을 수있는 가장 가까운 대답이기 때문에 당신은 내게 upvote를 얻을거야. 감사합니다. 그러나 파일 터치 이벤트 또는 이와 유사한 것을 듣는 것과 같은 더 나은 솔루션을 기대합니다. – p0wl