우리는 원격 대서양 횡단 삼바 공유에서 파일 목록을 얻는 프로세스를 가지고 있습니다. 이것은 자연스럽게 느린쪽에 있지만 파일 이름 만 필요로하지 않는다는 사실 때문에 더 나빠졌습니다. 업데이트를 확인하기위한 마지막 쓰기 시간이 필요합니다. 디렉토리에 꽤 많은 파일이 있습니다. 그리고 말할 수있는 한, .NET 파일 API는 각 파일을 개별적으로 요청합니다. 우리가 필요로하는 정보를보다 빨리 얻을 수있는 방법이 있습니까?배치에서 전체 디렉토리 정보를 얻는 방법
답변
나는 길을 찾고 싶다. 나는 똑같은 문제를 가지고있다. 느린 네트워크 위치에 엄청난 수의 파일이 있는데, 나는 변화를 검사해야한다.
필자가 아는 한, 파일 속성을 하나씩 질문해야합니다.
파일 당 전송되는 정보의 양은 많지 않아야합니다. 로터리 어답터 요청 - 응답 시간이 아마도 주요 문제 일 것입니다. 병렬로 여러 요청을 실행하여 상황을 도울 수 있습니다 (예 : Parallel.ForEach
사용)
질문에 대한 답변은 적어도 의미있는 것은 아닙니다.
코드에서 파일을 정확히 열거하는 방법은 Windows의 동일한 파일 시스템 API로 모두 바뀌기 때문에 거의 관련이 없습니다. 불행히도, 한 번의 호출로 파일 세부 정보 목록을 반환하는 함수는 없습니다 *.
그래서 아래 코드와 같이 코드 내용에 상관없이 디렉토리 내용을 열거하고 각 파일에 대해 개별적으로 특정 파일 함수를 호출합니다.
이것이 정말로 문제가된다면, 나는 탐지 로직을 파일에 더 가깝게 옮기고 앱에 주기적으로 결과를 보냅니다.
* 면책 조항 : 나는 지금까지 스택에서이 작업을 수행 한 적이 있었기 때문에 API 문서를 지금 탐색 중이므로 정확하게 여기에 새로운 기능이있을 수 있습니다.
조금 더 조사해 보면, Win32 수준으로 내려 가면 나열하는 것과 동시에 정보를 가져올 수 있는데, 이는 훨씬 빠르지 만 단 한 번의 작업 만 수행하는 것은 찾을 수 없습니다. 찾고 있었어. 사람들은 Win32가 설계되었을 때 대서양 횡단 삼바 드라이브에 대해 정말로 생각하지 않고 있었다고 생각합니다. –
- 1. Capistrano 배치에서 마이그레이션을위한 디렉토리 변경
- 2. 배치에서 문자의 위치를 얻는 방법
- 3. ListFragment에서 정보를 얻는 방법
- 4. 클라이언트에서 디렉토리 트리를 얻는 방법
- 5. 휴지통을 사용하지 않고 배치에서 디렉토리 삭제
- 6. objdump에서 정보를 얻는 방법
- 7. 어린이들로부터 정보를 얻는 방법
- 8. 이미지에서 정보를 얻는 방법?
- 9. 표준에서 정보를 얻는 방법?
- 10. 위젯에서 정보를 얻는 방법
- 11. NSData에서 정보를 얻는 방법?
- 12. 콘솔에서 정보를 얻는 방법
- 13. configure.ac에서 사용되는 MACRO에 관한 전체 정보를 얻는 방법
- 14. 방법 세부 정보를 얻는 방법?
- 15. 전체 디렉토리 목록을 다운로드하는 방법?
- 16. 스프링 배치에서 StaxEventItemReader를 사용하여 헤더 정보를 읽는 방법
- 17. 전체 디렉토리를 얻는 방법?
- 18. 전체 QueryString을 얻는 방법?
- 19. 전체 URL을 얻는 방법
- 20. 전체 경로를 얻는 방법?
- 21. 전체 열을 얻는 방법
- 22. 전체 디렉토리 C#
- 23. PHP에서 디렉토리 크기를 얻는 방법
- 24. 반복 배치에서
- 25. StackOverflowError의 전체 스택을 얻는 방법
- 26. HttpWebResponse에서 자세한 정보를 얻는 방법
- 27. Python : 변수에서 정보를 얻는 방법
- 28. 인앱 전화 정보를 얻는 방법
- 29. h264 비디오 정보를 얻는 방법?
- 30. Firebase 사용자 정보를 얻는 방법?
다음과 같이 해보십시오. DirectoryInfo info = new DirectoryInfo ("path"); GroupBy (x => x.FullName, y => y.LastWriteTime) .ToDictionary (x => x.Key, y => y.FirstOrDefault()) 사전 dict = info.EnumerateFiles(). ; –
jdweng