博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
node递归批量重命名指定文件夹下的文件
阅读量:7055 次
发布时间:2019-06-28

本文共 1679 字,大约阅读时间需要 5 分钟。

1、用法:将js内容拷到一文件中,命名为batchRename.js;

      该文件可以放到任何你想更改文件名的文件夹目录,然后dos(或 linux 终端)进入该文件夹,然后执行node batchRename.js;

      然后它就会把该文件夹下的所有文件名前面加上它所在的文件夹名和一个"-"。

      它的执行是递归的,会影响下面的所有子目录。

2、重命名文件的规则可以通过修改里面带注释那个if里的逻辑进行自定义。

 

1 var path = require("path"); 2 var fs = require("fs"); 3 var rootPath = __filename; 4 renameFilesInDir(path.dirname(rootPath)); 5  6 function changeFileName(filepath){ 7     fs.stat(filepath,function(err,stats){ 8         if(stats.isFile()){ 9             //console.log("isFile,chaning filename...");10             var filename = path.basename(filepath);11             var parentDir =path.dirname(filepath);12             var parentDirname = path.basename(path.dirname(filepath)); 13             var thisFilename = path.basename(__filename);14             //console.log(thisFilename);15             //这个if就是进行更改文件名的逻辑,可以自行定义,这里定义为将文件命名为当前文件夹的名字加"-文件自身名"16             if(filename!=thisFilename&&filename.indexOf(parentDirname)<0){17                 var newName = parentDirname+"-"+filename;18                 var newPath =parentDir+"\\"+newName;19                 console.log("going to rename from "+filepath+" to "+newPath);20                 fs.rename(filepath,newPath);    21             }22         }else if(stats.isDirectory()){23             console.log("============["+filepath+"] isDir===========");24             renameFilesInDir(filepath);25         }else{26         console.log("unknow type of file");27         }28     });29 }30 31 function renameFilesInDir(dir){32     fs.readdir(dir,function(error,files){33         var len = files.length;34         var file = null;35         for(var i=0;i

 

转载于:https://www.cnblogs.com/softwarefang/p/7003661.html

你可能感兴趣的文章
Tomcat使用与配置
查看>>
接口与抽象类的区别(转)
查看>>
转载:分析apk工具aapt的使用,解析其原理
查看>>
如何向视图插入数据
查看>>
注册和策略模式
查看>>
python 列表
查看>>
第七课作业
查看>>
MEAN实践——LAMP的新时代替代方案(下)
查看>>
CentOS7 下安装 Oracle 12c
查看>>
简单介绍AngularJs Filters
查看>>
jmeter4.0 统计结果次数 BeanShell Sampler,Debug Sampler
查看>>
C和指针学习ing 课后习题练习ing
查看>>
别让bug跑了,通过问题理解ceph的克隆过程
查看>>
Dubbo下一站:Apache顶级项目
查看>>
我说分布式事务之最大努力通知型事务
查看>>
挖机全车无动作是什么故障原因引起的?
查看>>
监狱电视系统设计原则及应用场景
查看>>
JDK 源码阅读 :ByteBuffer
查看>>
python面试题
查看>>
vscode 使用小结
查看>>