node递归批量重命名指定文件夹下的文件
2017-06-13 21:39
671 查看
1、用法:将js内容拷到一文件中,命名为batchRename.js;
该文件可以放到任何你想更改文件名的文件夹目录,然后dos(或 linux 终端)进入该文件夹,然后执行node batchRename.js;
然后它就会把该文件夹下的所有文件名前面加上它所在的文件夹名和一个"-"。
它的执行是递归的,会影响下面的所有子目录。
2、重命名文件的规则可以通过修改里面带注释那个if里的逻辑进行自定义。
该文件可以放到任何你想更改文件名的文件夹目录,然后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<len;i++){ 36 file = files[i]; 37 changeFileName(dir+"\\"+file); 38 } 39 }); 40 }
相关文章推荐
- Python批量重命名指定文件夹下文件的两种方法
- java 批量重命名指定文件夹中所有文件 递增方式命名 前后缀方式命名
- 多匹配递归删除指定文件/文件夹,用以简便备份你的VS.NET解决方案 (1:清理垃圾文件)
- 将指定文件夹下结构相同的EXCEL文件(支持2003和2007版本)批量导入到SQL数据库中指定的表
- 使用递归方式遍历指定磁盘路径下的文件及文件夹
- 递归显示指定文件夹下面的文件
- matlab 批量读入文件夹中的指定文件类型 (目录级数不限)
- 将指定文件夹下结构相同的EXCEL文件批量导入到SQL数据库中指定的表
- 遍历文件夹 非递归 只收集指定后缀的文件
- 递归显示指定文件夹下面的文件
- 批量重命名同一文件夹下的文件
- Java递归搜索指定文件夹下的匹配文件
- 将指定文件夹下结构相同的EXCEL文件(支持2003和2007版本)批量导入到SQL数据库中指定的表
- php批量重命名某个文件夹下所有的文件
- 递归删除指定文件夹或文件
- asp.net 删除文件夹,指定文件夹,删除文件夹和所有文件,删除权限设置,递归删除文件夹目录及文件
- 将指定文件夹下结构相同的EXCEL文件(支持2003和2007版本)批量导入到SQL数据库中指定的表
- 递归得到指定文件夹下所有.mdb文件
- 批量删除文件夹下包含指定字段的文件
- 相当实用的——Java递归删除指定文件夹下的所有文件