123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- var fs = require('fs');
- var path = require('path');
- // 获取n级上层路径,要获取当前路径传0
- function parent_path_count(path_str, count) {
- // 获取多级
- var path_temp = path_str
- for (var i = 0; i < count; i++) {
- path_temp = path.resolve(path_temp, '..')
- }
- return path_temp
- }
- var copy = function (src, dst) {
- let paths = fs.readdirSync(src); //同步读取当前目录
- paths.forEach(function (path) {
- var _src = src + '/' + path;
- var _dst = dst + '/' + path;
- fs.stat(_src, function (err, stats) { //stats 该对象 包含文件属性
- if (err) throw err;
- if (stats.isFile()) { //如果是个文件则拷贝
- let readable = fs.createReadStream(_src);//创建读取流
- let writable = fs.createWriteStream(_dst);//创建写入流
- readable.pipe(writable);
- } else if (stats.isDirectory()) { //是目录则 递归
- // checkDirectory(_src, _dst, copy);
- }
- });
- });
- }
- var checkDirectory = function (src, dst, callback) {
- fs.access(dst, fs.constants.F_OK, (err) => {
- if (err) {
- fs.mkdirSync(dst);
- callback(src, dst);
- } else {
- callback(src, dst);
- }
- });
- };
- // 项目路径
- let projectPath = parent_path_count(path.dirname(__filename), 2)
- const SOURCES_DIRECTORY = `${projectPath}/warfare_backend/common/cfg/`; //源目录
- const TARGET_DIRECTORY = `${projectPath}/warfare_client/assets/script/common/cfg/`; //目标目录
- // //战斗逻辑路径
- // const SOURCES_BATTLE_DIRECTORY = `${projectPath}/manv_backend/cfg/battle/`; //源目录
- // const TARGET_BATTLE_DIRECTORY = `${projectPath}/manv_client/assets/script/cfg/battle/`; //目标目录
- fs.exists(TARGET_DIRECTORY, function (exists) {
- if (exists) {
- fs.exists(SOURCES_DIRECTORY, function (exists2) {
- if (exists2) {
- checkDirectory(SOURCES_DIRECTORY, TARGET_DIRECTORY, copy);
- // checkDirectory(SOURCES_BATTLE_DIRECTORY, TARGET_BATTLE_DIRECTORY, copy);
- }
- });
- }
- });
|