zoukankan      html  css  js  c++  java
  • 批量修改目录,文件名

    var fs = require('fs');
    var path=require('path');
    
    var dir= "E:/exam"; //path.dirname("D:/0228/");
    console.log(dir);
    var state =fs.lstatSync(dir)
    if(!state.isDirectory())
    {
        console.log("请输入目录")
    }
    
    var dirNameList=[];
    var fileList=[];
    getDirNames(dir,dirNameList);
    //replace(fileList)
    replaceFileName(fileList)
    
    function replaceFileName(fileList){
        fileList.sort(function(a, b){
      return b.length - a.length;
    });
    console.log(fileList);
        for(let i =0;i<fileList.length;++i){
            let fileName = fileList[i];
        let item =fileName.split("\").slice(-1);
        //console.log(item);
        if(item[0].toLowerCase().indexOf("zhaomin03")>=0){
            let arr=fileName.split(path.sep);
            arr.pop();
            let dirnew = arr.join(path.sep);
            fs.renameSync(fileName, path.join(dirnew,item[0].replace("zhaomin03","Wangbo03")));
            fs.renameSync(fileName, path.join(dirnew,item[0].replace("Zhaomin03","Wangbo03")));
            
        }
        
    }
    }
    
    function replace(dirNameList){
        dirNameList.sort(function(a, b){
      // ASC  -> a.length - b.length
      // DESC -> b.length - a.length
      return b.length - a.length;
    });
    console.log(dirNameList);
        for(let i =0;i<dirNameList.length;++i){
            let folder = dirNameList[i];
        let item =folder.split("\").slice(-1);
        //console.log(item);
        if(item[0].toLowerCase().indexOf("zhaomin03")>=0){
            let arr=folder.split(path.sep);
            arr.pop();
            let dirnew = arr.join(path.sep);
            fs.renameSync(folder, path.join(dirnew,item[0].replace("zhaomin03","Wangbo03")));
            fs.renameSync(folder, path.join(dirnew,item[0].replace("Zhaomin03","Wangbo03")));
            
        }
        
    }
    }
    
    
    function getDirNames(dir,dirNameList){
            var files = fs.readdirSync(dir);
            for(var i=0;i<files.length;++i){
                var item =files[i];
                var state =fs.lstatSync(path.resolve(dir,item))
                if(state.isDirectory()){
                    dirNameList.push(path.resolve(dir,item));
                    //console.log(dirNameList);
                    getDirNames(path.resolve(dir,item),dirNameList)
                }else{
                    fileList.push(path.join(dir,item));
                }
            }
            
    }
  • 相关阅读:
    博主推荐-工作中常用到一些不错的网址整理
    使用ansible部署CDH 5.15.1大数据集群
    ElasticSearch的API介绍
    HTML&CSS基础-CSS Hcak
    运维开发笔记整理-创建django用户
    运维开发笔记整理-数据库同步
    运维开发笔记整理-QueryDict对象
    运维开发笔记整理-template的使用
    运维开发笔记整理-JsonResponse对象
    运维开发笔记整理-Request对象与Response对象
  • 原文地址:https://www.cnblogs.com/wolbo/p/13387505.html
Copyright © 2011-2022 走看看