var fs = require('fs');

// 模板文件夹路径
var templateDirectory = '../src'; //相对于当前文件的相对路径
//var templateDirectory = 'D:/code/eclipse/dataInsight/maker-ui/src'; //系统级的路径 // 模板文件的读取规则
var reg = /-template.html$/; var files = readAllFile(templateDirectory, reg);
console.log(files.length ? files.join('\n') : '未找到符合要求的文件'); /*------------工具函数------------*/
/*
* 读取指定文件夹下的全部文件,可通过正则进行过滤,返回文件路径数组
* @param root 指定文件夹路径
* [@param] reg 对文件的过滤正则表达式,可选参数
*
* 注:还可变形用于文件路径是否符合正则规则,路径可以是文件夹,也可以是文件,对不存在的路径也做了容错处理*/
function readAllFile(root, reg) { var resultArr = [];
var thisFn = arguments.callee;
if (fs.existsSync(root)) {//文件或文件夹存在 var stat = fs.lstatSync(root); // 对于不存在的文件或文件夹,此函数会报错 if (stat.isDirectory()) {// 文件夹
var files = fs.readdirSync(root);
files.forEach(function (file) {
var t = thisFn(root + '/' + file, reg);
resultArr = resultArr.concat(t);
}); } else {
if (reg !== undefined) { if (typeof reg.test == 'function'
&& reg.test(root)) {
resultArr.push(root);
}
}
else {
resultArr.push(root);
}
}
} return resultArr;
}

读取指定文件夹下的全部文件,可通过正则进行过滤,返回文件路径数组 -- 基于node的一个函数的更多相关文章

  1. Python读取不同文件夹下的图片并且分类放到新创建的训练文件夹和标签文件夹

    在深度学习的训练时,经常会碰到训练的样本数据集和标签数据集是在一个文件夹中,这个时候我们就不得不进行一些数据的预处理和文件的分类,例如将训练(training data)数据集和标签数据集(label ...

  2. 在tomcat中的conf文件夹下找server.conf 配置如下代码,可省略项目名路径访问 如 localhost:8080 即可访问到项目

    <Context path="" docBase="C:\Workspaces\Projects\SLSaleSystem_dw\WebRoot" rel ...

  3. Android Studio的使用(十)--读取assets、Raw文件夹下文件,以及menu、drawable文件夹

    1.直接在/src/main目录下面新建assets目录 2.接下来即可读取文件 3.读取Raw文件夹下文件也类似.首先在res文件夹下新建raw目录,然后放入需要的文件即可读取. 4.menu和dr ...

  4. [R语言]读取文件夹下所有子文件夹中的excel文件,并根据分类合并。

    解决的问题:需要读取某个大文件夹下所有子文件夹中的excel文件,并汇总,汇总文件中需要包含的2部分的信息:1.该条数据来源于哪个子文件夹:2.该条数据来源于哪个excel文件.最终,按照子文件夹单独 ...

  5. 15 C++遍历某个文件夹下的文件

    1 遍历所有的,包括文件夹套文件夹 #include<iostream> #include<string> #include<io.h> #include<c ...

  6. tar命令打包文件夹下所有的文件

    例如在/home/rip123/www 路径有aa.txt   aab.txt   bb.txt    cc.txt 文件,想将所有的打包却不想一个个敲: 做法:在www文件夹下输入命令:   tar ...

  7. win10在文件夹下打开powershell

    快捷键win+R,输入cmd可以直接打开终端命令行窗口 在文件夹下打开终端命令行端口: 在需要的文件夹目录下,按住shift键,在空白处右击,选择在此处打开powershell窗口,即可进行终端命令行 ...

  8. java读取文件夹下所有文件并替换文件每一行中指定的字符串

    import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.I ...

  9. matlab操作之--读取指定文件夹下的“指定格式”文件

    %% 正负样本所在folder fext='*.png';%要读取的文件格式 positiveFolder='F:\课题\Crater detection\machingLearning\Positi ...

随机推荐

  1. Color the Ball(懵逼题)

    Color the Ball Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota ...

  2. phpstorm2016.3+xdebug调试

    1.首先打开PHP配置文件,php.in修改相关xedebug配置 ; XDEBUG Extension [xdebug] zend_extension ="d:/wamp64/bin/ph ...

  3. Python爬虫入门:爬虫基础了解

    有粉丝私信我想让我出更基础一些的,我就把之前平台的copy下来了,可以粗略看一下,之后都会慢慢出. 1.什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫 ...

  4. Oracle-2 - :超级适合初学者的入门级笔记--定义更改约束,视图,序列,索引,同义词

    接着我上一篇的写,在这感觉到哇 内容好多啊   上一篇,纯手打滴,希望给个赞! 添加约束的语法: 使用 alter table 添加或删除约束,但是不能修改约束 有效化或无效化约束 添加not nul ...

  5. JavaScript核心参考

    Array 方法 concat() 把元素衔接到数组中. every() 测试断言函数是否对每个数组元素都为真. filter() 返回满足断言函数的数组元素. forEach() 为数组的每一个元素 ...

  6. pt-log-player

    简介 pt-log-player是MySQL日志回放工具,在pt2.4中被去除,由percona-playback取代. 在2.1中还是保留,如果想使用的话,需要下载2.1版本的. 使用方法 pt-l ...

  7. Python之程序执行时间计算

    import datetime starttime = datetime.datetime.now() #long running endtime = datetime.datetime.now() ...

  8. [转]Oracle执行计划详解

    Oracle执行计划详解 --- 作者:TTT BLOG 本文地址:http://blog.chinaunix.net/u3/107265/showart_2192657.html --- 简介:   ...

  9. js从时间戳中获取日期

    1,从时间戳中解析出年月日时分秒: time为时间戳: var timestr = new Date(parseInt(time) * 1000); var year = timestr.getFul ...

  10. RAC(ReactiveCocoa)使用方法(二)

    RAC(ReactiveCocoa)使用方法(一) RAC(ReactiveCocoa)使用方法(二) 上篇文章:RAC(ReactiveCocoa)使用方法(一) 中主要介绍了一些RAC中常见类的用 ...