利用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获取Select选择的Text和Value(详细汇总)
Jan 25 Javascript
js拖拽一些常见的思路方法整理
Mar 19 Javascript
Javascript实现获取及设置光标位置的方法
Jul 21 Javascript
JavaScript sort数组排序方法和自我实现排序方法小结
Jun 06 Javascript
gulp-uglify 与gulp.watch()配合使用时报错(重复压缩问题)
Aug 24 Javascript
网络传输协议(http协议)
Nov 18 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
Dec 08 Javascript
Javascript中JSON数据分组优化实践及JS操作JSON总结
Dec 22 Javascript
JavaScript实现JSON合并操作示例【递归深度合并】
Sep 07 Javascript
从理论角度讨论JavaScript闭包
Apr 03 Javascript
微信小程序连续签到7天积分获得功能的示例代码
Aug 20 Javascript
antd的select下拉框因为数据量太大造成卡顿的解决方式
Oct 31 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
PHP var_dump遍历对象属性的函数与应用代码
2010/06/04 PHP
php自定义函数call_user_func和call_user_func_array详解
2011/07/14 PHP
smarty模板局部缓存方法使用示例
2014/06/17 PHP
Zend Framework入门教程之Zend_View组件用法示例
2016/12/09 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
2020/02/27 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
2020/05/01 PHP
在JavaScript中实现命名空间
2006/11/23 Javascript
一些老手都不一定知道的JavaScript技巧
2014/05/06 Javascript
jquery实现右侧栏菜单选择操作
2016/03/04 Javascript
浅谈AngularJs指令之scope属性详解
2016/10/24 Javascript
浅析JS中的 map, filter, some, every, forEach, for in, for of 用法总结
2017/03/29 Javascript
JavaScript字符串_动力节点Java学院整理
2017/06/27 Javascript
nodejs简单访问及操作mysql数据库的方法示例
2018/03/15 NodeJs
Koa项目搭建过程详细记录
2018/04/12 Javascript
JavaScript禁用右键单击优缺点分析
2019/01/20 Javascript
js实现点击生成随机div
2020/01/16 Javascript
理解python正则表达式
2016/01/15 Python
Unicode和Python的中文处理
2017/03/19 Python
python使用turtle绘制分形树
2018/06/22 Python
用python标准库difflib比较两份文件的异同详解
2018/11/16 Python
详解Python进阶之切片的误区与高级用法
2018/12/24 Python
Python调用C语言的实现
2019/07/26 Python
Python求正态分布曲线下面积实例
2019/11/20 Python
scrapy爬虫:scrapy.FormRequest中formdata参数详解
2020/04/30 Python
Virtualenv 搭建 Py项目运行环境的教程详解
2020/06/22 Python
python自动提取文本中的时间(包含中文日期)
2020/08/31 Python
Pycharm创建python文件自动添加日期作者等信息(步骤详解)
2021/02/03 Python
SheIn俄罗斯:时尚女装网上商店
2017/02/28 全球购物
英国曼彻斯特宠物用品品牌:Bunty Pet Products
2019/07/27 全球购物
英国电气世界:Electrical World
2019/09/08 全球购物
中专生自我鉴定
2013/12/17 职场文书
优秀经理获奖感言
2014/03/04 职场文书
公益广告标语
2014/06/19 职场文书
护理学专业求职信
2014/06/29 职场文书
企业安全生产检查制度
2015/08/06 职场文书
redis protocol通信协议及使用详解
2022/07/15 Redis