/**
* @fileName trave.js
* @description 十六进制文件转utf-8字符串
* @date 2021-10-20 15:27:10
* @lastEditors xl.li
*/
var fs=require("fs");
var path = require('path')
function decode(str){
return str.replace(/\\x(\w{2})/g,function(_,$1){ return String.fromCharCode(parseInt($1,16)) });
}
function traveDir(ins,filter = '.js') {
let src = path.normalize(ins);
let paths = fs.readdirSync(src); //同步读取当前目录
paths.forEach(function (path) {
var _src = src + '/' + path;
fs.stat(_src, function (err, stats) { //stats 该对象 包含文件属性
if (err) throw err;
if (stats.isFile() && path.includes(filter)) {
let readable = fs.readFileSync(_src,"utf-8");
let nf = path.replace('.','.d.')
fs.writeFile(src + '/' + nf,decode(readable),err => console.log(err))
} else if (stats.isDirectory()) { //是目录则 递归
traveDir(_src);
}
});
});
}
/**
* @functionName 32
* @param 参数1:要转换的文件目录,参数2:目录下要转换的文件类型(简单后缀过滤)
* @date 2021-10-20 15:28:00
*/
traveDir('./test1','.js')
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。