利用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 相关文章推荐
不错的asp中显示新闻的功能
Oct 13 Javascript
js不能跳转到上一页面的问题解决方法
Mar 01 Javascript
jquery实现文字由下到上循环滚动的实例代码
Aug 09 Javascript
JS根据变量保存方法名并执行方法示例
Apr 04 Javascript
js实现在网页上简单显示时间的方法
Mar 02 Javascript
JQ技术实现注册页面带有校验密码强度
Jul 27 Javascript
jQuery实现带延时功能的水平多级菜单效果【附demo源码下载】
Sep 21 Javascript
Angular 常用指令实例总结整理
Dec 13 Javascript
JavaScript使用readAsDataUrl方法预览图片
May 10 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
Jul 28 Javascript
利用chrome浏览器进行js调试并找出元素绑定的点击事件详解
Jan 30 Javascript
详解angular2如何手动点击特定元素上的点击事件
Oct 16 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
gd库图片下载类实现下载网页所有图片的php代码
2012/08/20 PHP
基于MySQL体系结构的分析
2013/05/02 PHP
深入解析PHP内存管理之谁动了我的内存
2013/06/20 PHP
一个简单的PHP验证码实现代码
2014/05/10 PHP
Yii中实现处理前后台登录的新方法
2015/12/28 PHP
Yii框架连接mongodb数据库的代码
2016/07/27 PHP
PHP 二级子目录(后台目录)设置二级域名
2017/03/02 PHP
完美解决thinkphp唯一索引重复时出错的问题
2017/03/31 PHP
javascript 表格排序和表头浮动效果(扩展SortTable)
2009/04/07 Javascript
jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
2013/04/08 Javascript
jquery操作 iframe的方法
2014/12/03 Javascript
jQuery实现仿QQ在线客服效果的滚动层代码
2015/10/15 Javascript
基于jQuery实现仿百度首页选项卡切换效果
2016/05/29 Javascript
静态页面html中跳转传值的JS处理技巧
2016/06/22 Javascript
微信JS-SDK坐标位置如何转换为百度地图坐标
2016/07/04 Javascript
微信小程序 购物车简单实例
2016/10/24 Javascript
JavaScript基本类型值-Number类型
2017/02/24 Javascript
jQuery实现查看图片功能
2020/12/01 jQuery
vue的hash值原理也是table切换实例代码
2020/12/14 Vue.js
Python Pandas找到缺失值的位置方法
2018/04/12 Python
Django读取Mysql数据并显示在前端的实例
2018/05/27 Python
Python爬虫使用脚本登录Github并查看信息
2018/07/16 Python
PyQt5实现简易计算器
2020/05/30 Python
python用类实现文章敏感词的过滤方法示例
2019/10/27 Python
解决python便携版无法直接运行py文件的问题
2020/09/01 Python
Python提取视频中图片的示例(按帧、按秒)
2020/10/22 Python
python 读取串口数据的示例
2020/11/09 Python
django项目中使用云片网发送短信验证码的实现
2021/01/19 Python
css3截图_动力节点Java学院整理
2017/07/11 HTML / CSS
美国高端医师级美容产品电商:BeautifiedYou.com
2017/04/17 全球购物
意大利拉斐尔时尚购物网:Raffaello Network(支持中文)
2018/11/09 全球购物
法学专业本科生自荐信范文
2013/12/17 职场文书
大学系主任推荐信范文
2013/12/24 职场文书
抽样调查项目计划书
2014/04/24 职场文书
红灯733-1型14管5波段半导体收音机
2021/04/22 无线电
python区块链实现简版工作量证明
2022/05/25 Python