利用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 相关文章推荐
弹出广告特效(一个IP只弹出一次)的代码
Jul 27 Javascript
从JQuery源码分析JavaScript函数的apply方法与call方法
Sep 25 Javascript
JS制作手机端自适应缩放显示
Jun 11 Javascript
jQuery垂直多级导航菜单代码分享
Aug 18 Javascript
jQuery实现下拉加载功能实例代码
Apr 01 Javascript
jQuery获取table行数并输出单元格内容的实现方法
Jun 30 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
Aug 05 Javascript
自定义PC微信扫码登录样式写法
Dec 12 Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
Apr 20 Javascript
React 实现车牌键盘的示例代码
Dec 20 Javascript
vue打开子组件弹窗都刷新功能的实现
Sep 21 Javascript
JavaScript数组reduce()方法的语法与实例解析
Jul 07 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数据库连接时容易出错的特殊符号问题
2010/09/01 PHP
让Json更懂中文(JSON_UNESCAPED_UNICODE)
2011/10/27 PHP
Smarty的配置与高级缓存技术分享
2012/06/05 PHP
php分页函数完整实例代码
2014/09/22 PHP
PHP获取当前文件的父目录方法汇总
2016/07/21 PHP
解决Laravel 不能创建 migration 的问题
2019/10/09 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
2020/01/26 PHP
jQuery下通过replace字符串替换实现大小图片切换
2012/05/22 Javascript
javascript 文件的同步加载与异步加载实现原理
2012/12/13 Javascript
Jquery实现弹出层分享微博插件具备动画效果
2013/04/03 Javascript
Jquery中ajax方法data参数的用法小结
2014/02/12 Javascript
JavaScript中实现异步编程模式的4种方法
2014/09/24 Javascript
js实现千分符和保留几位小数的简单实例
2016/08/01 Javascript
基于jQuery实现的查看全文功能【实用】
2016/12/11 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
canvas绘制表盘时钟
2017/01/23 Javascript
利用Node.js+Koa框架实现前后端交互的方法
2017/02/27 Javascript
Angular4实现动态添加删除表单输入框功能
2017/08/11 Javascript
Webpack 4.x搭建react开发环境的方法步骤
2018/08/15 Javascript
JS实现可针对算术表达式求值的计算器功能示例
2018/09/04 Javascript
微信小程序Flex布局用法深入浅出分析
2019/04/25 Javascript
基于JS实现操作成功之后自动跳转页面
2020/09/25 Javascript
python实现带错误处理功能的远程文件读取方法
2015/04/29 Python
Pandas 缺失数据处理的实现
2019/11/04 Python
Python文件名匹配与文件复制的实现
2020/12/11 Python
HTML5 解决苹果手机不能自动播放音乐问题
2017/12/27 HTML / CSS
优瑞自动咖啡机官网:Jura
2018/09/29 全球购物
UNIX文件系统分类
2014/11/11 面试题
餐饮业创业计划书范文
2014/01/06 职场文书
西式婚礼证婚词
2014/01/12 职场文书
公司活动策划方案
2014/01/13 职场文书
两只小狮子教学反思
2014/02/05 职场文书
运动会加油稿100字
2014/09/19 职场文书
党的群众路线教育实践活动个人整改措施落实情况
2014/11/04 职场文书
幼儿园秋季开学通知
2015/07/16 职场文书
小学音乐课歌曲《堆雪人》教学反思
2016/02/18 职场文书