文件批处理脚本
- 支持多进程任务
- 通配符查找过滤文件。通配符的用法可以查阅glob文档
- 可自定义处理文件
- 可输出基础操作日志
- 可扩展日志处理
版本依赖
node >= 14.18.0
npm >= 7
使用
$ npm install @geoscene/file-batch-script -g
$ file-batch-script init
$ npm run default
模板文件说明
├── config # 脚本配置
│ └── default.config.js # 初始脚本命令,可用于文本替换
├── keywordFiles # 关键字文件存放,可自行调整
├── src # 代码存放地,可自行调整
├── .gitignore
├── package.json
API
属性 | 说明 | 类型 | 默认值 |
---|
after | 文件处理完毕后的回调 | () => void | - |
dealFn | 自定义文件处理函数。options 配置在*.config.js 中的自定义属性,子进程在调用dealFn 时,会过滤掉 api 属性 | (filePath:string, options:object, callback:(msg: DealLog) => void) => void | required |
files | 要处理的文件列表,使用文件的绝对路径。优先级高于includes | string[] | - |
filterFiles | 自定义过滤文件 | (files: string[]) => string[] | - |
ignoreFiles | 忽略的文件,可使用通配符和字符串路径 | string[] | - |
includes | 通配符匹配目标文件,使用glob 实现 | string[] | required |
logger | 日志配置,设置真值时启用日志记录。具体说明如下 | LoggerType | - |
multiProcess | 是否启用多进程处理,设为number 可以控制进程数,true 使用最大cpu数创建进程 | boolean number | true |
root | 目标文件根目录,配合includes 使用。如不配置,会用上一级目录作为入口,并将过滤本目录 | string | - |
DealLog
类型 | 说明 | 备注 |
---|
Log | 通用日志 | { type: string, message:string/number } |
string/number | 以字符串或数字传值,默认为log 类型数据 | - |
array | 批量回传日志 | Log[] |
LoggerType
属性 | 说明 | 类型 | 默认值 |
---|
types | 自定义日志处理类型和函数,函数返回false ,本条日志会重新加入日志队列。type 设为log/error ,将覆盖内置的处理函数 | { [type:string]: (msg:string) => boolean } | - |