利用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 相关文章推荐
JavaScript性能陷阱小结(附实例说明)
Dec 28 Javascript
jQuery学习笔记之jQuery构建函数的7种方法
Jun 03 Javascript
js控制再次点击按钮之间的间隔时间可防止重复提交
Aug 01 Javascript
jQuery实现多级联动下拉列表查询框
Jan 18 Javascript
谈一谈JS消息机制和事件机制的理解
Apr 14 Javascript
js模式化窗口问题![window.dialogArguments]
Oct 30 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
Dec 20 Javascript
使用vue.js实现联动效果的示例代码
Jan 10 Javascript
TableSort.js表格排序插件使用方法详解
Feb 10 Javascript
javascript 删除数组元素和清空数组的简单方法
Feb 24 Javascript
关于vuejs中v-if和v-show的区别及v-show不起作用问题
Mar 26 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
Apr 05 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制作的意见反馈表源码
2007/03/11 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
JQuery 选择器 xpath 语法应用
2010/05/13 Javascript
Google的跟踪代码 动态加载js代码方法应用
2012/11/12 Javascript
判断复选框是否被选中的两种方法
2014/06/04 Javascript
jquery的ajax异步请求接收返回json数据实例
2014/06/16 Javascript
基于jQuery实现选取月份插件附源码下载
2015/12/28 Javascript
js实现的简单图片浮动效果完整实例
2016/05/10 Javascript
微信小程序 UI布局常用技巧整理总结
2016/12/05 Javascript
详解nodeJS之路径PATH模块
2017/05/31 NodeJs
基于 Immutable.js 实现撤销重做功能的实例代码
2018/03/01 Javascript
浅析vue中的MVVM实现原理
2019/03/04 Javascript
Vue2.X和Vue3.0数据响应原理变化的区别
2019/11/07 Javascript
vue解决跨域问题(推荐)
2020/11/10 Javascript
基础的十进制按位运算总结与在Python中的计算示例
2016/06/28 Python
在django view中给form传入参数的例子
2019/07/19 Python
Django 反向生成url实例详解
2019/07/30 Python
Pycharm 2019 破解激活方法图文详解
2019/10/11 Python
Python 转换RGB颜色值的示例代码
2019/10/13 Python
Python连接字符串过程详解
2020/01/06 Python
python实现在一个画布上画多个子图
2020/01/19 Python
pytorch进行上采样的种类实例
2020/02/18 Python
Django+python服务器部署与环境部署教程详解
2020/03/30 Python
python 发送get请求接口详解
2020/11/17 Python
python 高阶函数简单介绍
2021/02/19 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
2021/02/26 Python
英国在线药房:Chemist.co.uk
2019/03/26 全球购物
实习自我评价怎么写
2013/12/02 职场文书
单身联谊活动方案
2014/01/29 职场文书
《三袋麦子》教学反思
2014/03/02 职场文书
优秀小学生事迹材料
2014/12/26 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
创业计划书之服装
2019/10/07 职场文书
flex弹性布局详解
2022/03/20 HTML / CSS
HTML5之高度塌陷问题的解决
2022/06/01 HTML / CSS
python运行脚本文件的三种方法实例
2022/06/25 Python