使用起泡法按照时间排列文件

来源:互联网 发布:北京程序员聚集地 编辑:程序博客网 时间:2024/04/29 20:41
Function qipaosorting(path)
  Set FSO=Server.CreateObject("Scripting.FileSystemObject")  'FSO对象
  Set FD=FSO.GetFolder(path)  '获得文件夹
  Set F=FD.Files   '获得文件夹内文件
  For Each OneFile in F  '列出所有的txt文件
    filename=OneFile.Name
    If LCase(right(filename,3))="txt" Then  '只对txt文件处理
     filename_arr0=filename_arr0&Left(filename,Len(filename)-4)&"|"  '获得主文件名,保存在变量中,0|0|形式
     filename_arr1=filename_arr1&DateValue(OneFile.DateCreated)&"|"  '获得文件建立日期
 End If
  Next
  filename_arr0=split(filename_arr0,"|")  '转化为文件名数组
  filename_arr1=split(filename_arr1,"|")  '转化为日期数组
'把文件名和时间按照顺序加入二维数组
  dim filename_arr()
  redim filename_arr(ubound(filename_arr0),2)  '重新定义
  for i=0 to ubound(filename_arr0)-1
    filename_arr(i,0)=filename_arr0(i)
 filename_arr(i,1)=filename_arr1(i)
  next
  erase filename_arr0  '删除数组
  erase filename_arr1
'------按照时间的顺序使用起泡法排列数组------
  for j=0 to ubound(filename_arr)-1
   for i=0 to ubound(filename_arr)-1-j
 if DateDiff("d",filename_arr(i,1),filename_arr(i+1,1))>0 Then '判断时间先后,如果比后面的晚,交换数据
    'if filename_arr(i,1)<filename_arr(i+1,1) Then  '这个只能判断字符,而不能判断时间
   '交换前后数组内容--文件名
   temp=filename_arr(i,0)
   filename_arr(i,0)=filename_arr(i+1,0)
   filename_arr(i+1,0)=temp
   '交换前后数组内容--建立时间
   temp=filename_arr(i,1)
   filename_arr(i,1)=filename_arr(i+1,1)
   filename_arr(i+1,1)=temp
 end if
   next
  next
'------结束起泡法------
  qipaosorting=filename_arr '返回二维数组
End Function  '结束函数
原创粉丝点击