zl程序教程

您现在的位置是:首页 >  前端

当前栏目

使用Javascript递归遍历本地文件夹

JavaScript遍历递归 本地 文件夹 使用
2023-09-14 09:03:56 时间

Created by Jerry Wang, last modified on Aug 13, 2014

打印本地temp folder所有的文件及最后修改时间:

<html>
<head>
<script language="javascript">
var s = "";
var result = [];
function FileInfo(path, name,time) {
  this.path = path;
  this.name = name;
  this.time = time;
}
function showFolderFileList(folderspec)
{
   var fso,f,fc,name;
   var url,str,file,filename;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   f = fso.GetFolder(folderspec);
   fc = new Enumerator( f.files );
   for (; !fc.atEnd(); fc.moveNext( ) ) {
      filename = fso.GetFileName( fc.item( ) );
      var file = fso.getFile(folderspec + "\\" + filename);
      var fileInfo = new FileInfo(folderspec, filename,file.DateLastModified);
      result.push(fileInfo);
   }
   var Collection = new Enumerator(f.SubFolders);  
  
       for (Collection.moveFirst(); !Collection.atEnd(); Collection.moveNext()) {  
        var Obj = Collection.item();  
        showFolderFileList(Obj.Path);
    }  
   return result;
}
function display_result(result)
{
   var body = document.getElementById("mtbody");
   var size = result.length;
   var tr = document.getElementById("mtr");
   for( var i =0; i < size; i++ ) {
      var newTr = tr.cloneNode(true);
      var children = newTr.children;
      for( var j = 0 ; j < children.length; j++) {
        var item = children.item(j);
        switch(j) {
          case 0:
            item.innerHTML = result[i].path;
            break;
          case 1:
            item.innerHTML = result[i].name;
            break;
          case 2:
            item.innerHTML = result[i].time;
        }
      }
      body.appendChild(newTr);
    }
}
function run(i, folder) {
  var list_result = showFolderFileList('C:\\temp');
  display_result(list_result);
}
</script>
</head>
<body onload = "run('c:\\temp')">
  <div id ="table">
      <table id="mtable" border=1>
    <tbody id="mtbody">
      <tr id="mtr">
        <td>File Path</td>
        <td>File name</td>
        <td>Last Modify</td>
      </tr>
    </tbody>
  </table>
  </div>
</body>
</html>

因为使用了ActiveXobject,只能使用IE打开。
效果如下:
image