js 获取文件夹下所有文件名

方法一:

ActiveXObject:

Automation 服务器至少提供一类对象。例如,字处理应用程序可能提供应用程序对象、文档对象和工具栏对象。

要创建 Automation 对象,将新的 ActiveXObject 赋给对象变量。

GetFolder:

返回一 个 Folder 对象,该对象对应于指定路径中的文件夹。

Enumerator :

Enumerator 对象提供了访问集合的任何成员的方法,其操作与 VBScript 中的 For...Each 语句相似。

for(;!fn.atEnd();fn.moveNext()):

第一个参数省略,第二个参数判断这个条件!fn.atEnd() ,第三个参数执行fn.moveNext()

var fso=new ActiveXObject("Scripting.FileSystemObject");//创建文件系统对象
		var s=fso.GetFolder("E:\\");//获取文件夹对象
		var fn=new Enumerator(s.files);
		var s="";
		for(;!fn.atEnd();fn.moveNext()){
			s=s+fn.item()+"\n";
		}
		alert(s);

方法二:

如下例子是在node.js中完成的

var fs = require('fs');
 
function readDirRecur(folder, callback) {
  fs.readdir(folder, function(err, files) {
    var count = 0
    var checkEnd = function() {
      ++count == files.length && callback()
    }
 
    files.forEach(function(file) {
      var fullPath = folder + '/' + file;
 
      fs.stat(fullPath, function(err, stats) {
        if (stats.isDirectory()) {
            return readDirRecur(fullPath, checkEnd);
        } else {
          /*not use ignore files*/
          if(file[0] == '.') {
 
          } else {
            fileList.push(fullPath)            
          }
          checkEnd()
        }
      })
    })
 
    //为空时直接回调
    files.length === 0 && callback()
  })
}
 
var fileList  = []
var timeStart = new Date()
var filePath = path.resolve('static/sx')
readDirRecur(filePath, function(filePath) {
  console.log('done', new Date() - timeStart);//done 3
  console.log(fileList); //打印出目录下的所有文件

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

几个高兴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值