利用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 相关文章推荐
JS多物体 任意值 链式 缓冲运动
Aug 10 Javascript
jquery实现的一个导航滚动效果具体代码
May 27 Javascript
在其他地方你学不到的jQuery小贴士和技巧(欢迎收藏)
Jan 20 Javascript
javascript事件绑定学习要点
Mar 09 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
May 12 Javascript
详解如何在React组件“外”使用父组件的Props
Jan 12 Javascript
D3.js实现拓扑图的示例代码
Jun 30 Javascript
详解javascript appendChild()的完整功能
Aug 18 Javascript
Angularjs Ng_repeat中实现复选框选中并显示不同的样式方法
Sep 12 Javascript
vue工程全局设置ajax的等待动效的方法
Feb 22 Javascript
详解Vue中组件的缓存
Apr 20 Javascript
JavaScript 如何在浏览器中使用摄像头
Dec 02 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
laravel-admin 实现在指定的相册下添加照片
2019/10/21 PHP
PHP时间类完整代码实例
2021/02/26 PHP
用javascript父窗口控制只弹出一个子窗口
2007/04/10 Javascript
解决jQuery插件tipswindown与hintbox冲突
2010/11/05 Javascript
jquery获取一组checkbox的值(实例代码)
2013/11/04 Javascript
Js实现当前点击a标签变色突出显示其他a标签回复原色
2013/11/27 Javascript
深入理解JavaScript系列(49):Function模式(上篇)
2015/03/04 Javascript
JavaScript搜索字符串并将搜索结果返回到字符串的方法
2015/04/06 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
2015/04/21 Javascript
Bootstrap每天必学之表单
2015/11/23 Javascript
vue.js开发环境安装教程
2017/03/17 Javascript
bootstrap常用组件之头部导航实现代码
2017/04/20 Javascript
JavaScript中三个等号和两个等号你了解多少
2017/07/04 Javascript
JS中Promise函数then的奥秘探究
2018/07/30 Javascript
对vue中v-on绑定自定事件的实例讲解
2018/09/06 Javascript
微信小程序的注册页面包含倒计时验证码、获取用户信息
2019/05/22 Javascript
JS实现水平遍历和嵌套递归操作示例
2019/08/15 Javascript
浅谈vuex的基本用法和mapaction传值问题
2019/11/08 Javascript
Python中if __name__ == '__main__'作用解析
2015/06/29 Python
Centos Python2 升级到Python3的简单实现
2016/06/21 Python
Python中list初始化方法示例
2016/09/18 Python
Numpy数组的保存与读取方法
2018/04/04 Python
Python中的函数作用域
2018/05/07 Python
python元组的概念知识点
2019/11/19 Python
基于Python检测动态物体颜色过程解析
2019/12/04 Python
如何将PySpark导入Python的放实现(2种)
2020/04/26 Python
css3翻牌翻数字的示例代码
2020/02/07 HTML / CSS
HTML5 图片预加载的示例代码
2020/03/25 HTML / CSS
巴西购物网站:Estrela10
2018/12/13 全球购物
英国现代市场:ARKET
2019/04/10 全球购物
会计电算化专业毕业生自荐信
2013/12/20 职场文书
党员违纪检讨书
2014/02/18 职场文书
简单租房协议书
2014/04/09 职场文书
娱乐节目策划方案
2014/06/10 职场文书
教你怎么用Python监控愉客行车程
2021/04/29 Python
nginx设置资源请求目录的方式详解
2022/05/30 Servers