对某目录下的文件按照日期进行排序

对日期进行排序

下面是一个示例 ASP 页(感谢 Eric 的工作!),该页使用 FileSystemObjectscripting 对象来获取文件名集合,然后按创建日期对其进行排序。有关 FileSystemObject scripting 对象的文档,可以在 Microsoft Windows Script Technologies 站点找到。

调用 GetFolder() 方法以检索文件夹对象的指定的路径。该文件夹对象包含可以使用 Enumerator 对象访问的 files 集合。每个文件项都是按照文件名的顺序检索的,因此将它们分配给一个数组以便在稍后对其进行排序。

    arr[i++] = {path : fc.item().Path, date : fc.item().DateCreated};

上面显示的是一种不很常见的分配语法,这种语法称为对象文字,它包含用逗号分隔的属性规范列表。每个属性规范都由属性名及其后面的属性值组成。此对象文字语法用于创建具有 path 和 date 这两个属性的对象。

使用 Array 对象的 sort() 方法可以指定我们自己的比较函数 sortByDate,以便确定排序顺序。在本例中,comparison 函数返回一个指示两个项在创建日期上的相对顺序的值,但可以轻松地针对其他文件属性对该函数进行改写。

None.gif function  sortByDate(f1, f2)
None.gif{
None.gif  
if  (f1.date  <  f2.date)
None.gif    
return   - 1 ;
None.gif  
else   if  (f1.date  >  f2.date)
None.gif    
return   1 ;
None.gif  
else  
None.gif    
return   0 ;
None.gif}
None.gif
function  showfiles(path)
None.gif{
None.gif  
var  fso, f, f1, fc, arr, i, s;
None.gif  fso 
=   new  ActiveXObject(  " Scripting.FileSystemObject "  );
None.gif  f 
=  fso.GetFolder( path );
None.gif
None.gif  
//  Build the file list
None.gif
  arr  =   new  Array();
None.gif  i 
=   0 ;
None.gif  
for  ( fc  =   new  Enumerator( f.files );  ! fc.atEnd(); fc.moveNext() )
None.gif    arr[i
++ =  {path : fc.item().Path, date : fc.item().DateCreated};
None.gif
None.gif  
//  Sort the file list
None.gif
  arr.sort( sortByDate );
None.gif
None.gif  
//  Display the file list
None.gif
  s  =   "" ;
None.gif  
for  ( i = 0  ; i     s  +=  arr[i].path  +   "
None.gif
" ;
None.gif  
return  s;
None.gif}
None.gif
None.gifResponse.Write( showfiles( Server.MapPath( 
" . "  ) ) );

转载于:https://www.cnblogs.com/shfranklee/archive/2005/04/16/138843.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值