利用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 相关文章推荐
IE浏览器PNG图片透明效果代码
Sep 02 Javascript
比较详细的关于javascript 解析json的代码
Dec 16 Javascript
js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码
Dec 17 Javascript
jquery插件之信息弹出框showInfoDialog(成功/错误/警告/通知/背景遮罩)
Jan 09 Javascript
PHP PDO操作总结
Nov 17 Javascript
理解javascript中的with关键字
Feb 15 Javascript
Highcharts 多个Y轴动态刷新数据的实现代码
May 28 Javascript
AngularJs expression详解及简单示例
Sep 01 Javascript
微信小程序 出现47001 data format error原因解决办法
Mar 10 Javascript
ionic2自定义cordova插件开发以及使用(Android)
Jun 19 Javascript
BootStrap Fileinput插件和Bootstrap table表格插件相结合实现文件上传、预览、提交的导入Excel数据操作步骤
Aug 07 Javascript
JS数组实现分类统计实例代码
Sep 30 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
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
php csv操作类代码
2009/12/14 PHP
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
2015/03/18 PHP
php微信公众平台开发类实例
2015/04/01 PHP
Laravel 5框架学习之子视图和表单复用
2015/04/09 PHP
PHP扩展程序实现守护进程
2015/04/16 PHP
微信获取用户地理位置信息的原理与步骤
2015/11/12 PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
2016/02/01 PHP
PHP封装cURL工具类与应用示例
2019/07/01 PHP
CL vs ForZe BO5 第二场 2.13
2021/03/10 DOTA
实例:尽可能写友好的Javascript代码
2006/10/09 Javascript
jquery 简单图片导航插件jquery.imgNav.js
2010/03/17 Javascript
关于JQuery($.load)事件的用法和分析
2013/04/09 Javascript
jquery中each方法示例和常用选择器
2014/07/08 Javascript
IE中JS跳转丢失referrer问题的2个解决方法
2014/07/18 Javascript
javascript使用appendChild追加节点实例
2015/01/12 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
2017/03/06 Javascript
浅谈vue中慎用style的scoped属性
2017/11/28 Javascript
jQuery zTree插件快速实现目录树
2019/08/16 jQuery
python不带重复的全排列代码
2013/08/13 Python
centos 安装python3.6环境并配置虚拟环境的详细教程
2018/02/22 Python
对pandas replace函数的使用方法小结
2018/05/18 Python
python的pandas工具包,保存.csv文件时不要表头的实例
2018/06/14 Python
python获取微信企业号打卡数据并生成windows计划任务
2019/04/30 Python
如何在Python中实现goto语句的方法
2019/05/18 Python
YUV转为jpg图像的实现
2019/12/09 Python
在Python中利用pickle保存变量的实例
2019/12/30 Python
pycharm工具连接mysql数据库失败问题
2020/04/01 Python
python 实现批量图片识别并翻译
2020/11/02 Python
Lacoste澳大利亚官网:服装、鞋类及配饰
2018/11/14 全球购物
澳洲Chemist Direct药房中文网:澳洲大型线上直邮药房
2019/11/04 全球购物
单位实习证明怎么写
2014/01/17 职场文书
关于梦想的演讲稿
2014/05/05 职场文书
青春无悔演讲稿
2014/05/08 职场文书
学校教学管理制度
2015/08/06 职场文书
市直属机关2016年主题党日活动总结
2016/04/05 职场文书