multi-automator
Version:
Multi terminal automation
53 lines (52 loc) • 1.22 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.rmdir = exports.mkdir = void 0;
/**
* @desc: file operate
* @author: john_chen
* @date: 2023.03.13
*/
const fs_1 = __importDefault(require("fs"));
const path_1 = require("path");
/**
* 创建目录
*
* @param {string} dir 目录路径
*/
function mkdir(dir) {
if (fs_1.default.existsSync(dir)) {
return;
}
fs_1.default.mkdirSync(dir);
}
exports.mkdir = mkdir;
/**
* 删除目录
*
* @param {string} dir 目录路径
*/
function rmdir(dir) {
dir = (0, path_1.resolve)(dir);
if (!fs_1.default.existsSync(dir)) {
return;
}
// 去除尾部 /
if (dir && '/' === dir.slice(-1)) {
dir = dir.slice(0, dir.length - 1);
}
// 文件
if (!fs_1.default.statSync(dir).isDirectory()) {
fs_1.default.unlinkSync(dir);
return;
}
// 目录
for (let file of fs_1.default.readdirSync(dir)) {
rmdir(`${dir}/${file}`);
}
// 删除目录
fs_1.default.rmdirSync(dir);
}
exports.rmdir = rmdir;