星空网 > 软件开发 > Java

NodeJS遍历文件生产文件列表

功能需求:在工作中我们可能经常需要知道项目中静态文件列表发布,一个一个去检索写,那就太苦逼了。

NodeJS遍历文件生产文件列表

要想知道里面的文件列表是不是很蛋疼,可能我们也会有dos tree去获取。

这里分享一下,通过node,知道文件路径,并配置远程路径,直接copy,发布。

新建filelist.js 里面都有注释,我就不哆嗦了.

var fs = require("fs");//path模块,可以生产相对和绝对路径var path = require("path");//配置远程路径var remotePath = "/resource/fd/promote/201507/qixi/";//获取当前目录绝对路径,这里resolve()不传入参数var filePath = path.resolve();//读取文件存储数组var fileArr = [];//读取文件目录fs.readdir(filePath,function(err,files){  if(err){    console.log(err);    return;  }  var count = files.length;  //console.log(files);  var results = {};  files.forEach(function(filename){        //filePath+"/"+filename不能用/直接连接,Unix系统是”/“,Windows系统是”\“    fs.stat(path.join(filePath,filename),function(err, stats){      if (err) throw err;      //文件      if(stats.isFile()){        if(getdir(filename) == 'html'){          var newUrl=remotePath+filename;          fileArr.push(newUrl);          writeFile(fileArr);        }        // (getdir(filename) == 'html')&&(fileArr.push(filename);writeFile(newUrl));      //  console.log("%s is file", filename);      }else if(stats.isDirectory()){        // console.log("%s is a directory文件目录", filename);         if(filename == 'css' || filename == 'images'){             //var readurl = filePath+'/'+filename;             //filePath+"/"+filename不能用/直接连接,Unix系统是”/“,Windows系统是”\“           //  console.log(path.join(filePath,filename));             var name = filename;             readFile(path.join(filePath,filename),name);         }      }    });  });});//获取后缀名function getdir(url){  var arr = url.split('.');  var len = arr.length;  return arr[len-1];}//获取文件数组function readFile(readurl,name){  console.log(name);  var name = name;  fs.readdir(readurl,function(err,files){    if(err){console.log(err);return;}        files.forEach(function(filename){     // console.log(path.join(readurl,filename));      fs.stat(path.join(readurl,filename),function(err, stats){        if (err) throw err;        //是文件        if(stats.isFile()){          var newUrl=remotePath+name+'/'+filename;          fileArr.push(newUrl);          writeFile(fileArr)        //是子目录        }else if(stats.isDirectory()){          var dirName = filename;          readFile(path.join(readurl,filename),name+'/'+dirName);          //利用arguments.callee(path.join())这种形式利用自身函数,会报错          //arguments.callee(path.join(readurl,filename),name+'/'+dirName);        }      });    });  });}// 写入到filelisttxt文件function writeFile(data){  var data = data.join("\n");  fs.writeFile(filePath+"/"+"filelist.txt",data+'\n',function(err){    if(err) throw err;    console.log("写入成功");  });}

当我们执行

node flielist.js

就会生产filelist.txt,文件里面就包含了我们想要的路径。

 NodeJS遍历文件生产文件列表

参考资料:

nodejs实现遍历文件夹并统计文件大小  http://nodeclass.com/articles/911572




原标题:NodeJS遍历文件生产文件列表

关键词:JS

JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

了解国际商标注册的重要性及其优势:https://www.kjdsnews.com/a/1360148.html
了解国际商标优先权的重要性:https://www.kjdsnews.com/a/1360149.html
了解国家商标局知识产权局官网服务详情:https://www.kjdsnews.com/a/1360150.html
了解国家商标局的服务电话及办理流程:https://www.kjdsnews.com/a/1360151.html
了解国家商标局局长背后的故事:https://www.kjdsnews.com/a/1360152.html
了解国外商标申请的步骤及渠道:https://www.kjdsnews.com/a/1360153.html
云南旅游攻略(8-10天左右):https://www.vstour.cn/a/404249.html
有威海直到崂山风景区车吗 威海到青岛崂山怎么走最快:https://www.vstour.cn/a/404250.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流