node重命名文件名_使用 nodejs 对文件进行批量重命名

0. 前言

从B站下载了一点视频,硕鼠自动将标题添加到了每个文件名的前面,导致文件名过长,不方面查看文件的具体内容。

虽然只有二十几个文件,但是手动删除前缀还是个不小的工作量,还有可能删除错误。考虑到正在努力成为一个程序员,应该为每一个带有重复属性的工作寻求优化。

想到nodejs可以读写文件,决定尝试使用nodejs来实现。网上搜到一点类似做法,根据自己需要,改吧改吧,二十分钟写好了(确实比手动删除慢了好多==)。

1. 引包

// nodejs中文件操作主要依靠fs模块

const fs = require('fs')

2. 实现

// 1. 定义两个工具函数

// 获取指定目录路径下的所有文件名

const getFileNames = path => {

// 使用readdir获取指定目录下的所有文件名

return fs.readdirSync(path);;

}

// 根据指定字符截取文件名,返回截取后的字段

const getFileSuffix = (fileName, splitChar) => {

// 取字符第一次出现的位置

const first = fileName.indexOf(splitChar);

// 取字符最后一次出现的位置(根据需要选择)

// const first = fileName.lastIndexOf(splitChar);

const namelength = fileName.length; //取到文件名长度

return fileName.substring(first + 1, namelength); //截取获得后缀名

}

// 2. 定义目录

const dirName = `D:\\3. 生活\\3.2 文件下载\\硕鼠下载\\我的解析任务1912152356`;

// 3. 读取与改写

let files = getFileNames(dirName);

files.forEach((item, i) => {

// 这里对旧名操作获取新名

let newName = getFileSuffix(item, "-")

// 使用rename方法进行重命名

fs.rename(`${dirName}\\${item}`, `${dirName}\\${newName}`, (err) => {

if (err) throw err;

console.log('重命名完成');

});

})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值