2012-03-28 2 views
8

Directory.GetFiles를 사용하여 특정 폴더에서 파일을 가져옵니다. 기본적으로 해당 폴더의 파일은 파일 이름별로 정렬됩니다. 파일 이름의 알파벳순으로. 파일을 수정하는 순서대로 파일을 가져오고 싶습니다.Directory.GetFiles 날짜순 정렬

특정 키워드가 들어있는 파일을 가져 오려면 Directory.GetInfo를 사용할 수 없습니다. 수정 된 날짜순으로 파일을 정렬 할 수있는 방법을 알려주십시오. 나는 어떤 도움을 크게 감상 할 수

string[] arr1 = Directory.GetFiles("D:/TestFolder", "*"Test12"*"); 

다음 코드를 사용하고 있습니다. 아래 당신이 마음에서 수정 한 시간 만 곰을 얻을 당신이 f.LastWriteTimef => f.CreationTime을 대체 할 수

당신의 필요 (.Contains 등)에 대해 임의의 문자열 기능 f.Name.StartWith를 대체 할 수

DirectoryInfo di = new DirectoryInfo("D:\\TestFolder"); 
FileSystemInfo[] files = di.GetFileSystemInfos(); 
var orderedFiles = files.Where(f=>f.Name.StartsWith("Test12")) 
         .OrderBy(f => f.CreationTime) 
         .ToList(); 

에 대한

답변

10

무엇을 Windows Vista에서 시작하는 의 최종 액세스 시간은 기본적으로으로 업데이트되지 않습니다. 이 파일 시스템 성능

당신이 디렉토리 정보를 변경하는 경우
+0

그 이 VB 파일을 작성하는 방법. 주문 (F => f.CreationTime) –

5

당신이 할 수있는 개선하는 것입니다

FileInfo[] files = new DirectoryInfo("path") 
         .GetFiles("filter") 
         .OrderBy(f => f.CreationTime) 
         .ToArray(); 

편집 : 당신이 날짜를 수정 원했던
톱은 할 수 f.LastWriteTime와 대신

관련 문제