# node.js批量修改文件名

node.js文档 (opens new window)

# 要求

把1.11banner-b.jpg 中的符号全换成下划线 1_11banner_b.jpg

# 代码

'use strict'; //严格模式

let fs = require('fs'); 
//想用API中的哪个模块就用require引进来

let src = 'banner'; 
//定义一个想修改文件所在的文件夹的路径,相对js文件

fs.readdir(src, function(err, files) {

  files.forEach(function(filename) { 
  //files是该文件夹下所有文件名的数组集合
    //把1.11banner-b.jpg改成1_11banner_b.jpg
    if (filename.indexOf('-') != -1) {
      let oldPath = src + '/' + filename;
      let nameArry = filename.split('');
      nameArry[1] = '_';
      nameArry[filename.indexOf('-')] = '_';
      let newName = nameArry.join('');
      let newPath = src + '/' + newName; //给图片重新命名

      fs.rename(oldPath, newPath, function(err) { 
          if (!err) { //替换成功,提示信息
              console.log(newPath + '替换成功!');
          }
      })
    }
  })
})

# 运行

用CMD窗口进入要运行的js文件所在文件夹,运行如下代码:

node rename.js