js 批量修改文件名 后缀

  • Post author:
  • Post category:其他

node方式 批量修改文件名或后缀
在需要修改的文件夹除创建一个js文件 ,通过 node .\****.js 运行

在创建一个.bat文件:
node .****.js
pause
后双击
:记得修改dirName

// 引入 fs 文件系统模块
let fs = require('fs')

const dirName = 'mus' // 读取目标文件夹名称
const reg = /(?<=[.])[a-z]+/ // 文件后缀 匹配规则

// 读文件夹,获取文件名列表
let fileList = fs.readdirSync(dirName)

// 过滤出想要的文件类型
let resultList = fileList.reduce((pev, cur) => {
  // 获取后缀
  const curPicType = cur.match(reg)[0]
  if (['mgg', 'flac', 'ogg', 'lrc'].includes(curPicType)) {
    pev.push(cur)
  }
  return pev
}, [])
console.log('文件列表', resultList)

// 循环当前文件名列表,根据需要重写名字
for (let i = 0; i < resultList.length; i++) {
  // 文件完整名称
  const curFileName = resultList[i]
  // 后缀名
  const fileFormat = curFileName.match(reg)[0]
  // 去掉后缀的文件名
  const fileCode = curFileName.split('.')[0]


  // oldPath 原地址
  const oldPath = `./${dirName}/${curFileName}`
  // newPath 目标地址
  let newPath = ''

  // 修改方式
  // 如果想根据不同条件,将文件分别放到不同的文件夹,按需更改 newPath 即可
  if (fileFormat == 'ogg' || fileFormat == 'mgg') {
    newPath = `./${dirName}/${fileCode}.mp3`
  } else {
    newPath = oldPath
  }

  // 确认修改
  fs.rename(oldPath, newPath, (err) => {
    if (err) throw err;
    console.log(`修改成功 -- ${newPath}`);
  })
}

版权声明:本文为qq_33957176原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。