利用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 相关文章推荐
js事件监听机制(事件捕获)总结
Aug 08 Javascript
PHP使用方法重载实现动态创建属性的get和set方法
Nov 17 Javascript
javascript与css3动画结合使用小结
Mar 11 Javascript
javascript使用输出语句实现网页特效代码
Aug 06 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
Oct 30 Javascript
微信小程序开发之实现自定义Toast弹框
Jun 08 Javascript
JavaScript设计模式之工厂模式和抽象工厂模式定义与用法分析
Jul 26 Javascript
JS实现的input选择图片本地预览功能示例
Aug 29 Javascript
Vue.Draggable拖拽功能的配置使用方法
Jul 29 Javascript
JavaScript ES6中的简写语法总结与使用技巧
Dec 30 Javascript
layui lay-verify form表单自定义验证规则详解
Sep 18 Javascript
vue实现element表格里表头信息提示功能(推荐)
Nov 20 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实现无限级分类
2014/12/24 PHP
JavaScript判断窗口是否最小化的代码(跨浏览器)
2010/08/01 Javascript
Extjs 3.3切换tab隐藏相应工具栏出现空白解决
2013/04/02 Javascript
jQuery实现html表格动态添加新行的方法
2015/05/28 Javascript
jQuery垂直多级导航菜单代码分享
2015/08/18 Javascript
javascript每日必学之条件分支
2016/02/17 Javascript
学习javascript文件加载优化
2016/02/19 Javascript
AngularJS实现一次监听多个值发生的变化
2016/08/31 Javascript
js内置对象处理_打印学生成绩单的简单实现
2016/09/24 Javascript
javascript汉字拼音互转的简单实例
2016/10/09 Javascript
angular学习之从零搭建一个angular4.0项目
2017/07/10 Javascript
微信小程序实现顶部选项卡(swiper)
2020/06/19 Javascript
使用socket.io制做简易WEB聊天室
2018/01/02 Javascript
vue select二级联动第二级默认选中第一个option值的实例
2018/01/10 Javascript
nginx部署访问vue-cli搭建的项目的方法
2018/02/12 Javascript
简单的React SSR服务器渲染实现
2018/12/11 Javascript
解决一个微信号同时支持多个环境网页授权问题
2019/08/07 Javascript
layui复选框的全选与取消实现方法
2019/09/02 Javascript
VUE项目中加载已保存的笔记实例方法
2019/09/14 Javascript
JS array数组检测方式解析
2020/05/19 Javascript
微信小程序点击滚动到指定位置的实现
2020/05/22 Javascript
python实现在字符串中查找子字符串的方法
2015/07/11 Python
Django 框架模型操作入门教程
2019/11/05 Python
Python实现Word表格转成Excel表格的示例代码
2020/04/16 Python
Python Socket多线程并发原理及实现
2020/12/11 Python
HTML5+CSS3 实现灵动的动画 TAB 切换效果(DEMO)
2017/09/15 HTML / CSS
推荐WEB开发者最佳HTML5和CSS3代码生成器
2015/11/24 HTML / CSS
HTML5实现可缩放时钟代码
2017/08/28 HTML / CSS
The Athlete’s Foot新西兰:新西兰最大的运动鞋零售商
2019/12/23 全球购物
.NET面试题:什么是值类型和引用类型
2016/01/12 面试题
应届生骨科医生求职信
2013/10/31 职场文书
大学竞选班长演讲稿
2014/04/24 职场文书
会计求职信范文
2014/05/24 职场文书
员工评语范文
2014/12/31 职场文书
升学宴答谢词
2015/01/05 职场文书
一篇文章学会Vue中间件管道
2021/06/20 Vue.js