利用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上传插件Uploadify使用详解及错误处理
Apr 27 Javascript
UI Events 用户界面事件
Jun 27 Javascript
Jquery方式获取iframe页面中的 Dom元素
May 07 Javascript
JavaScript实现将数组中所有元素连接成一个字符串的方法
Apr 06 Javascript
JavaScript实现DIV层拖动及动态增加新层的方法
May 12 Javascript
详解JavaScript中数组的相关知识
Jul 29 Javascript
浅谈javascript的Array.prototype.slice.call
Aug 31 Javascript
JavaScript实现两个select下拉框选项左移右移
Mar 09 Javascript
vue进行图片的预加载watch用法实例讲解
Feb 07 Javascript
centos 上快速搭建ghost博客方法分享
May 23 Javascript
详解Angular6.0使用路由步骤(共7步)
Jun 29 Javascript
解决vue中修改export default中脚本报一大堆错的问题
Aug 27 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时间戳与日期之间转换的实例介绍
2013/04/19 PHP
PHP实现利用MySQL保存session的方法
2014/08/23 PHP
php中ftp_chdir与ftp_cdup函数用法
2014/11/18 PHP
64位windows系统下安装Memcache缓存
2015/12/06 PHP
简介PHP的Yii框架中缓存的一些高级用法
2016/03/29 PHP
yii2实现根据时间搜索的方法
2016/05/25 PHP
细品javascript 寻址,闭包,对象模型和相关问题
2009/04/27 Javascript
JavaScript 学习笔记(六)
2009/12/31 Javascript
jquery 操作日期、星期、元素的追加的实现代码
2012/02/07 Javascript
jquery插件珍藏(图片局部放大/信息提示框)
2013/01/08 Javascript
详解jQuery插件开发中的extend方法
2013/11/19 Javascript
jquery动态改变onclick属性导致失效的问题解决方法
2013/12/04 Javascript
node.js中的http.response.addTrailers方法使用说明
2014/12/14 Javascript
tab栏切换原理
2017/03/22 Javascript
JS中封装axios来管控api的2种方式
2019/09/11 Javascript
快速解决layui弹窗按enter键不停弹窗的问题
2019/09/18 Javascript
基于JavaScript实现控制下拉列表
2020/05/08 Javascript
基于 Vue 的 Electron 项目搭建过程图文详解
2020/07/22 Javascript
JS访问对象两种方式区别解析
2020/08/29 Javascript
在Python中使用列表生成式的教程
2015/04/27 Python
Django查找网站项目根目录和对正则表达式的支持
2015/07/15 Python
浅谈Python的垃圾回收机制
2016/12/17 Python
Python实现公历(阳历)转农历(阴历)的方法示例
2017/08/22 Python
Python2和Python3之间的str处理方式导致乱码的讲解
2019/01/03 Python
英国香水店:The Perfume Shop
2017/03/27 全球购物
介绍一下SQL注入攻击的种类和防范手段
2012/02/18 面试题
诚信考试倡议书
2014/04/15 职场文书
乒乓球兴趣小组活动总结
2014/07/08 职场文书
领导班子遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
拾金不昧感谢信
2015/01/21 职场文书
区域经理岗位职责
2015/02/02 职场文书
毕业论文致谢范文
2015/05/14 职场文书
早会开场白台词大全
2015/06/01 职场文书
工程款催款函
2015/06/24 职场文书
医院病假条怎么写
2015/08/17 职场文书
三种方式清除vue路由跳转router-link的历史记录
2022/04/10 Vue.js