美文网首页
node 删除指定目录下 与其他目录里重复的项

node 删除指定目录下 与其他目录里重复的项

作者: NanaCti | 来源:发表于2019-06-10 17:22 被阅读0次
// 这个是用于删除重复的值的, node index.js dirName


const argv = process.argv
const fs = require('fs');

if (argv.length <= 2) {
    console.log('请指定待处理的文件地址')
    return
}

const target_folder = argv[2]
console.log(`需要处理的文件夹: ${target_folder}`)

let list  = [];
fs.readdir('./', async (err, date) => {
    (!!err) && console.log(err);
    // 1. 获取参考目录里的文件名
    for(let i = 0 ; i<date.length ; i++) {

        if (date[i] == target_folder) continue;
        let stat = fs.lstatSync(date[i]);

        if(stat.isDirectory()){
            console.log(`参考目录: ${date[i]}`)
            list.push(...await fs.readdirSync(date[i]));
        }

    }
    // 2.获取指定目录中与其他目录重复的项
    let target_list = await fs.readdirSync(target_folder);
    delete_list = target_list.filter(  (d_l_item)=> {

        let bool =  list.some( (t_l_item)=> {
            return d_l_item === t_l_item
        })
        return bool

    })
    // 3.在指定目录中删除项
    console.log(`需要删除数量: ${delete_list.length}`)
    delete_list.forEach(element => {

        fs.unlink(`${target_folder}/${element}`, () => {
            console.log(`${element} , 已删除`)
        })

    });
    
})


相关文章

网友评论

      本文标题:node 删除指定目录下 与其他目录里重复的项

      本文链接:https://www.haomeiwen.com/subject/qdhtfctx.html