利用node实现一个批量重命名文件的函数

 更新时间:2017年12月21日 10:00:27   作者:max210  
这篇文章主要给大家介绍了关于利用node实现一个批量重命名文件的函数的相关资料,文中通过示例示例代码介绍的非常详细,对大家学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

前言

最近在吃午饭的时候突然想起来在新大上JS课程时,老师讲node的时候提了一句说node可以批量重命名文件,我就想着看看能不能实现这个功能。

看了node的官方文档,查到fs模块有一个readdir的API,它读取一个目录的内容,测试了一下,返回的结果是一个数组,元素就是文件夹的名字。详细的介绍可以参考这里:https://www.jb51.net/article/58609.htm

还有一个API,rename听名字就是重命名相关的。详细的可以参考这里:https://www.jb51.net/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()

文件目录

file文件夹下放置要重命名的文件

打开终端,cd到rename文件夹下,执行node rename.js即可

这只是一个简单的实现,还是有很多不足,有更好的方法,欢迎讨论

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • nodejs发送http请求时遇到404长时间未响应的解决方法

    nodejs发送http请求时遇到404长时间未响应的解决方法

    这篇文章主要为大家详细介绍了nodejs发送http请求时遇到404长时间未响应的解决方法
    2017-12-12
  • 在Debian(Raspberry Pi)树莓派上安装NodeJS的教程详解

    在Debian(Raspberry Pi)树莓派上安装NodeJS的教程详解

    在树莓派上运行NodeJS并不需要特别的配置,你只需要确保可以用openssh远程连接到你的树莓派就ok了,关于在Debian(Raspberry Pi)树莓派上安装NodeJS的方法,大家可以通过本文了解下
    2017-09-09
  • node上的redis调用优化示例详解

    node上的redis调用优化示例详解

    这篇文章主要给大家介绍了关于node上redis调用优化的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • nodejs连接mongodb数据库实现增删改查

    nodejs连接mongodb数据库实现增删改查

    本篇文章主要结合了nodejs操作mongodb数据库实现增删改查,包括对数据库的增加,删除,查找和更新,有兴趣的可以了解一下。
    2016-12-12
  • 基于node.js依赖express解析post请求四种数据格式

    基于node.js依赖express解析post请求四种数据格式

    本篇文章主要介绍了node.js依赖express解析post请求四种数据格式,主要是www-form-urlencoded,form-data,application/json,text/xml,有兴趣的可以了解一下。
    2017-02-02
  • 基于Node的Axure文件在线预览的实现代码

    基于Node的Axure文件在线预览的实现代码

    这篇文章主要介绍了基于Node的Axure文件在线预览的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • 关于在mongoose中填充外键的方法详解

    关于在mongoose中填充外键的方法详解

    在学习非关系型数据库mongoDB,希望能够完成数据库的CRUD,采用的是JS做的后台,因此用到了mongoose,下面这篇文章主要给大家介绍了关于在mongoose中填充外键的相关资料,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • node 使用 nodemailer工具发送验证码到邮箱

    node 使用 nodemailer工具发送验证码到邮箱

    最近闲着没事,我就在练习使用node和mysql编写接口,计划写一个完整的vue系统,这篇文章主要介绍了node 使用 nodemailer工具发送验证码到邮箱,需要的朋友可以参考下
    2023-10-10
  • Node.js net模块功能及事件监听用法分析

    Node.js net模块功能及事件监听用法分析

    这篇文章主要介绍了Node.js net模块功能及事件监听用法,结合实例形式分析了net模块功能及事件监听相关操作技巧,需要的朋友可以参考下
    2019-01-01
  • Node.js API详解之 os模块用法实例分析

    Node.js API详解之 os模块用法实例分析

    这篇文章主要介绍了Node.js API详解之 os模块用法,结合实例形式分析了Node.js API中os模块基本功能、原理、用法及操作注意事项,需要的朋友可以参考下
    2020-05-05

最新评论