利用node实现一个批量重命名文件的函数


Posted in Javascript onDecember 21, 2017

前言

最近在吃午饭的时候突然想起来在新大上JS课程时,老师讲node的时候提了一句说node可以批量重命名文件,我就想着看看能不能实现这个功能。

看了node的官方文档,查到fs模块有一个readdir的API,它读取一个目录的内容,测试了一下,返回的结果是一个数组,元素就是文件夹的名字。详细的介绍可以参考这里:https://3water.com/article/58609.htm

还有一个API,rename听名字就是重命名相关的。详细的可以参考这里:https://3water.com/article/58548.htm

实现思路

整理了一下思路很简单,就是先把原文件的文件名读取出来放入一个数组,再把新名字作为一个数组,用renameAPI实现,但是批量重命名的名字只能遵循数字 +1 的规律,写了如下函数

示例代码

//rename.js
const fs = require('fs') //引入node内置的文件系统

function rename() {
 let newName = []
 fs.readdir('./file/', (err, oldName) => { //读取file文件夹下的文件的名字,oldName是一个数组
 if (err) {
  console.log(err)
 }
 for (let i = 0; i < oldName.length; i++) {
  let name = `new${i}.jpg` // 以图片为例
  newName[i] = name  // 把名字赋给一个新的数组
 }
 for (var i = 0; i < oldName.length; i++) {
  let oldPath = `./file/${oldName[i]}` //原本的路径
  let newPath = `./file/${newName[i]}` //新路径
  fs.rename(oldPath, newPath, (err) => { //重命名
  if (err) {
   console.log(err)
  }
  console.log('done!')
  })
 }
 })
}
rename()

文件目录

利用node实现一个批量重命名文件的函数

file文件夹下放置要重命名的文件

打开终端,cd到rename文件夹下,执行node rename.js即可

这只是一个简单的实现,还是有很多不足,有更好的方法,欢迎讨论

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
JQuery 表格操作(交替显示、拖动表格行、选择行等)
Jul 29 Javascript
JavaScript 事件记录使用说明
Oct 20 Javascript
js indexOf()定义和用法
Oct 21 Javascript
js 验证密码强弱的小例子
Mar 21 Javascript
扩展js对象数组的OrderByAsc和OrderByDesc方法实现思路
May 17 Javascript
JS烟花背景效果实现方法
Mar 03 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
Apr 28 Javascript
JavaScript代码实现图片循环滚动效果
Mar 19 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
Sep 04 Javascript
javascript实现用户点击数量统计
Dec 25 Javascript
BootStrap Table前台和后台分页对JSON格式的要求
Jun 28 Javascript
ES6关于Promise的用法详解
May 07 Javascript
详解webpack3编译兼容IE8的正确姿势
Dec 21 #Javascript
利用vue开发一个所谓的数独方法实例
Dec 21 #Javascript
开发Vue树形组件的示例代码
Dec 21 #Javascript
详解使用vuex进行菜单管理
Dec 21 #Javascript
Angular5.1新功能分享
Dec 21 #Javascript
vue2中的keep-alive使用总结及注意事项
Dec 21 #Javascript
webpack写jquery插件的环境配置
Dec 21 #jQuery
You might like
十大催泪虐心动漫,你能坚持看到第几部?
2020/03/04 日漫
php中{}大括号是什么意思
2013/12/01 PHP
php异步多线程swoole用法实例
2014/11/14 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
Thinkphp5+uploadify实现的文件上传功能示例
2018/05/26 PHP
php中使用array_filter()函数过滤数组实例讲解
2021/03/03 PHP
jQuery 1.3 和 Validation 验证插件1.5.1
2009/07/09 Javascript
js cookies实现简单统计访问次数
2009/11/24 Javascript
JavaScript省市联动实现代码
2014/02/15 Javascript
jquery判断元素是否隐藏的多种方法
2014/05/06 Javascript
javascript排序函数实现数字排序
2015/06/26 Javascript
JS判断当前页面是否在微信浏览器打开的方法
2015/12/08 Javascript
node.js插件nodeclipse安装图文教程
2020/10/19 Javascript
jQuery过滤选择器经典应用
2016/08/18 Javascript
js中小数向上取整数,向下取整数,四舍五入取整数的实现(必看篇)
2017/02/13 Javascript
Node.js中使用mongoose操作mongodb数据库的方法
2017/09/12 Javascript
javascript 缓冲运动框架的实现
2017/09/29 Javascript
JavaScript满天星导航栏实现方法
2018/03/08 Javascript
对Angular中单向数据流的深入理解
2018/03/31 Javascript
微信小程序签到功能
2018/10/31 Javascript
用实例解释Python中的继承和多态的概念
2015/04/27 Python
python制作爬虫爬取京东商品评论教程
2016/12/16 Python
python3.4用循环往mysql5.7中写数据并输出的实现方法
2017/06/20 Python
python采集微信公众号文章
2018/12/20 Python
Django框架用户注销功能实现方法分析
2019/05/28 Python
python scrapy爬虫代码及填坑
2019/08/12 Python
python操作openpyxl导出Excel 设置单元格格式及合并处理代码实例
2019/08/27 Python
使用Python发现隐藏的wifi
2020/03/04 Python
python标准库OS模块函数列表与实例全解
2020/03/10 Python
CSS3的常见transformation图形变化用法小结
2016/05/13 HTML / CSS
法人单位适用的授权委托书
2014/09/19 职场文书
投资申请报告
2015/05/19 职场文书
小平小道观后感
2015/06/09 职场文书
新闻稿件写作范文
2015/07/18 职场文书
golang 接口嵌套实现复用的操作
2021/04/29 Golang
Java 垃圾回收超详细讲解记忆集和卡表
2022/04/08 Java/Android