利用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 相关文章推荐
JavaScript中的this实例分析
Apr 28 Javascript
JavaScript和CSS通过expression实现Table居中显示
Jun 28 Javascript
详解JavaScript节流函数中的Throttle
Jul 16 Javascript
浅谈JavaScript 中有关时间对象的方法
Aug 15 Javascript
Vue2组件tree实现无限级树形菜单
Mar 29 Javascript
基于JavaScript实现瀑布流效果
Mar 29 Javascript
当vue路由变化时,改变导航栏的样式方法
Aug 22 Javascript
Vue CLI3 开启gzip压缩文件的方式
Sep 30 Javascript
vue路由前进后退动画效果的实现代码
Dec 10 Javascript
Vue.js的模板语法详解
Feb 16 Javascript
vue 数据操作相关总结
Dec 17 Vue.js
JavaScript 获取滚动条位置并将页面滑动到锚点
Feb 08 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 使用MySQL管理Session的回调函数详解
2013/06/21 PHP
php常用字符串比较函数实例汇总
2014/11/24 PHP
PHP 数组基本操作方法详解
2016/06/17 PHP
PHP观察者模式原理与简单实现方法示例
2017/08/25 PHP
thinkphp5框架结合mysql实现微信登录和自定义分享链接与图文功能示例
2019/08/13 PHP
js获取浏览器的可视区域尺寸的实现代码
2011/11/30 Javascript
基于js disabled=&quot;false&quot;不起作用的解决办法
2013/06/26 Javascript
Jquery中的$.each获取各种返回类型数据的使用方法
2015/05/03 Javascript
jQuery 操作input中radio的技巧
2016/07/18 Javascript
js自调用匿名函数的三种写法(推荐)
2016/08/19 Javascript
利用JS提交表单的几种方法和验证(必看篇)
2016/09/17 Javascript
jQuery实现可移动选项的左右下拉列表示例
2016/12/26 Javascript
angular ng-repeat数组中的数组实例
2017/02/18 Javascript
浅谈js使用in和hasOwnProperty获取对象属性的区别
2017/04/27 Javascript
Vue Cli与BootStrap结合实现表格分页功能
2017/08/18 Javascript
vue跨域解决方法
2017/10/15 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
基于javascript处理二进制图片流过程详解
2020/06/08 Javascript
js实现双色球效果
2020/08/02 Javascript
python链接Oracle数据库的方法
2015/06/28 Python
Python字典遍历操作实例小结
2019/03/05 Python
利用ImageAI库只需几行python代码实现目标检测
2019/08/09 Python
pytorch自定义初始化权重的方法
2019/08/17 Python
python实现用户名密码校验
2020/03/18 Python
Jupyter Notebook折叠输出的内容实例
2020/04/22 Python
python中通过pip安装库文件时出现“EnvironmentError: [WinError 5] 拒绝访问”的问题及解决方案
2020/08/11 Python
Django Auth用户认证组件实现代码
2020/10/13 Python
Python字典dict常用方法函数实例
2020/11/09 Python
phpquery中文手册
2021/03/18 PHP
圣诞树世界:Christmas Tree World
2019/12/10 全球购物
酒后驾驶检讨书
2014/01/27 职场文书
教师民族团结演讲稿
2014/08/27 职场文书
四风问题原因分析及整改措施
2014/10/24 职场文书
销售工作决心书
2015/02/04 职场文书
利用python做表格数据处理
2021/04/13 Python
Python Numpy库的超详细教程
2022/04/06 Python