2013-04-29 2 views
6

주어진 폴더의 파일을 'Last Modified Date'의 내림차순으로 반복해야합니다.'Last Modified Date'를 기반으로 폴더의 모든 파일을 반복합니다.

루프의 첫 번째 반복에서 가장 최근에 수정 한 파일을 열어서 닫을 수 있어야합니다. 두 번째 반복에서 나는 읽기 위를 기록하고있는 가장 최근에 업데이트 된 파일을 열고이

  1. 이 있는가 등을 닫으 할 수 있어야합니다 A A FileSystemObject이 파일을 정렬하거나 우리가 절대적으로 할 수 있습니다 방법에 내장 사용자 지정 정렬 루틴을 작성해야합니까?

  2. 사용자 지정 정렬 루틴을 사용해야하는 경우 여러 함수가 필요없이 작성할 수 있습니까? 즉 주 기능의 모든 코드.

  3. 많은 파일이 정렬되어야하므로 속도가 중요합니다. 따라서 모든 사용자 정의 절차가 효율적이어야합니다.

답변

9

당신은 연결이 끊긴 recordset에 파일 이름과 날짜를 읽고 날짜별로 그를 정렬 할 수 있습니다 :

Set fso = CreateObject("Scripting.FileSystemObject") 

Set list = CreateObject("ADOR.Recordset") 
list.Fields.Append "name", 200, 255 
list.Fields.Append "date", 7 
list.Open 

For Each f In fso.GetFolder("C:\some\where").Files 
    list.AddNew 
    list("name").Value = f.Path 
    list("date").Value = f.DateLastModified 
    list.Update 
Next 

list.MoveFirst 
Do Until list.EOF 
    WScript.Echo list("date").Value & vbTab & list("name").Value 
    list.MoveNext 
Loop 

list.Sort = "date DESC" 

list.MoveFirst 
Do Until list.EOF 
    WScript.Echo list("date").Value & vbTab & list("name").Value 
    list.MoveNext 
Loop 

list.Close 
+0

덕분에 많이. 나는 이것을 밖으로 시도하고 알려 드리겠습니다! – slayernoah

+0

완벽하게 일했습니다! – slayernoah

+0

이 스크립트는 파일 목록을 두 번 에코합니다. 임의 순서로 한 번, 한 번 날짜순으로 정렬합니다. 누가 왜 목록이 처음으로 울려 퍼지는 지 궁금해하는 사람을 위해이 점을 언급하면됩니다. –

관련 문제