利用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生成asp.net服务器控件的代码
Feb 04 Javascript
Jquery练习之表单验证实现代码
Dec 14 Javascript
20款非常优秀的 jQuery 工具提示插件 推荐
Jul 15 Javascript
Js实现当前点击a标签变色突出显示其他a标签回复原色
Nov 27 Javascript
js字符串日期yyyy-MM-dd转化为date示例代码
Mar 06 Javascript
jQuery使用height()获取高度需要注意的地方
Dec 13 Javascript
JavaScript中的object转换成number或string规则介绍
Dec 31 Javascript
JavaScript实现网页加载进度条代码超简单
Sep 21 Javascript
jQuery对象的链式操作用法分析
May 10 Javascript
微信小程序button组件使用详解
Jan 31 Javascript
小程序实现带年月选取效果的日历
Jun 27 Javascript
vue中可编辑树状表格的实现代码
Oct 31 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
《OVERLORD》手游英文版即将上线 手机上也能扮演骨王
2020/04/09 日漫
PHP中使用匿名函数操作数据库的例子
2014/11/17 PHP
php输出指定时间以前时间格式的方法
2015/03/21 PHP
PHP统计目录中文件以及目录中目录大小的方法
2016/01/09 PHP
PHP实现用户登录的案例代码
2018/05/10 PHP
PHP下用Swoole实现Actor并发模型的方法
2019/06/12 PHP
七种PHP开发环境搭建工具
2020/06/28 PHP
硬盘浏览程序,保存成网页格式便可使用
2006/12/03 Javascript
用javascript实现给出的盒子的序列是否可连为一矩型
2007/08/30 Javascript
JavaScript自定义DateDiff函数(兼容所有浏览器)
2012/03/01 Javascript
关于js new Date() 出现NaN 的分析
2012/10/23 Javascript
js获取日期:昨天今天和明天、后天
2014/06/11 Javascript
jQuery使用slideUp方法实现控制元素缓慢收起
2015/03/27 Javascript
jQuery无刷新切换主题皮肤实例讲解
2015/10/21 Javascript
jQuery EasyUI框架中的Datagrid数据表格组件结构详解
2016/06/09 Javascript
jQuery实现表格行和列的动态添加与删除方法【测试可用】
2016/08/01 Javascript
浅谈jQuery中Ajax事件beforesend及各参数含义
2016/12/03 Javascript
JS实现按钮控制计时开始和停止功能
2017/07/27 Javascript
vue2.x+webpack快速搭建前端项目框架详解
2017/11/30 Javascript
vue实现未登录跳转到登录页面的方法
2018/07/17 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
探索node之事件循环的实现
2020/10/30 Javascript
[06:25]DOTA2英雄梦之声_第17期_大地之灵
2014/06/20 DOTA
Django配置文件代码说明
2019/12/04 Python
Django用内置方法实现简单搜索功能的方法
2020/12/18 Python
python opencv肤色检测的实现示例
2020/12/21 Python
员工工作表扬信范文
2014/01/13 职场文书
大学生素质拓展活动方案
2014/02/11 职场文书
化妆师职业生涯规划书
2014/02/16 职场文书
语文教育专业求职信
2014/06/28 职场文书
超市店庆活动方案
2014/08/31 职场文书
社区服务活动报告
2015/02/05 职场文书
我们的节日重阳节活动总结
2015/03/24 职场文书
2015年班主任个人工作总结
2015/03/31 职场文书
2015年餐厅服务员工作总结
2015/04/23 职场文书
MySql统计函数COUNT的具体使用详解
2022/08/14 MySQL