1.0.0 • Published 4 years ago

utils-1812b-3 v1.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
4 years ago

fs算法

删除文件夹

// 删除文件夹
function deleteDir(dirname) {
    // 1.读取文件夹子目录
    let arr = fs.readdirSync(dirname)
    // 2.遍历子目录
    arr.forEach(item => {
        // 2-1拼接目录 保证目录正确性
        item = dirname + "/" + item
        // 2-2 判断是文件还是文件夹
        if (fs.statSync(item).isFile()) {
            // 2-3 删除文件
            fs.unlinkSync(item)
        } else {
            // 2-4 递归删除文件夹
            deleteDir(item)
        }
    })
    // 3.删除空的文件夹
    // 因为上面的forEach执行完了 文件夹是空的
    fs.rmdirSync(dirname)
}

复制文件夹

function copyDir(d1, d2) {
    // 1.创建目标文件夹
    !fs.existsSync(d2) && fs.mkdirSync(d2)
    // 2。读取复制的文件夹的子目录
    fs.readdirSync(d1).forEach(pathname => {
        // 3。拼接目录
        let d1name = d1 + "/" + pathname; //复制的源子目录
        let d2name = d2 + "/" + pathname; //复制的目标子目录
        // 判断源子目录是不是文件
        if (fs.statSync(d1name).isFile()) {
            // 是 文件 直接复制
            fs.copyFileSync(d1name, d2name)
        } else {
            // 是文件夹 递归复制
            copyDir(d1name, d2name)
        }
    })
}
1.0.0

4 years ago