美文网首页
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