前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用 NodeJS 重命名系统文件[每日前端夜话0xB2]

用 NodeJS 重命名系统文件[每日前端夜话0xB2]

作者头像
疯狂的技术宅
发布2019-08-30 15:22:00
8070
发布2019-08-30 15:22:00
举报
文章被收录于专栏:京程一灯京程一灯

介绍

你是在 Node.js 中操作系统文件,并且需要一种简单的方法来以编程方式重命名文件?

幸运的是 Node.js 的文件系统 (Fs) 核心模块实现了内置的方法,可以通过 fs.renam()fs.renameSync() 方法来给文件一个新名字。

这两个函数都会给你相同的结果,只不过是用了两种不同的方式去做。同步 fs.renameSync() 版本将阻塞你的代码并等待文件成功重命名或发生错误然后再继续运行。异步版本fs.rename()不会阻塞你的代码,而是在删除文件时返回一个回调函数。

下面将向你展示如何使用这两种方法。

要使下面的代码生效,请确保安装了Node.js,并把要重命名的文件放在项目目录的根目录中。在这个例子中,我们的文件是一个名为 "your-file.png" 的PNG图像文件。当然重命名方法适用于任何文件类型。

First, let's cover the fs.rename() version. We'll give you the full code and then explain all the different parts afterward:

首先介绍 fs.rename() 版本。我们将为你提供完整的代码,然后进行解释:

fs.rename():

代码语言:javascript
复制
const fs = require("fs")
const path = require("path")

const pathToFile = path.join(__dirname, "your-file.png")
const newPathToFile = path.join(__dirname, "new-filename.png")

fs.rename(pathToFile, newPathToFile, function(err) {
  if (err) {
    throw err
  } else {
    console.log("Successfully renamed the file!")
  }
})

让我们分解代码的每个部分:

  1. 首先,导入 Fs 模块和 Path 核心模块。
  2. 接下来创建 pathToFilenewPathToFile 变量。我们使用 Path 模块来获取想要更改的文件的当前路径。我们还创建了一个路径,其中包含希望新文件具有的名称。
  3. 然后,我们使用 fs.rename() 函数。将两个文件路径传递给函数,并返回一个回调。
  4. 在回调函数中,我们做了一些错误处理,如果成功就 console.log() 成功消息。

在终端中运行代码时,你应该看到以下输出:

代码语言:javascript
复制
$ Successfully renamed the file!

如果查看文件所在的目录,你应该看到文件被重新命名。

接下来介绍同步版本。

fs.renameSync():

代码语言:javascript
复制
const fs = require("fs")
const path = require("path")
const pathToFile = path.join(__dirname, "your-file.png")
const newPathToFile = path.join(__dirname, "new-filename.png")

try {
  fs.renameSync(pathToFile, newPathToFile)
  console.log("Successfully renamed the file!")
} catch(err) {
  throw err
}

与前面的例子类似,我们需要 FsPath 核心模块。然后获取当前文件的路径,并创建一个路径,其中包含我们想要的新文件名。

但后面我们用了 try...catch 语句。在 try 部分,将 pathToFilenewPathToFile 变量传递给 fs.renameSync() 函数,并在成功重命名文件时记录成功消息。用 catch 抛出可能会发生的任何错误。

在终端中运行代码时,你应该看到与以前相同的输出:

代码语言:javascript
复制
$ Successfully renamed the file!

And the file in your directory will have a new name. 并且目录中的文件将具有新名称。

结论

Node.js 的文件系统(Fs)核心模块还有很多有用的方法。可以通过查看文档获取更多信息。

原文:https://coderrocketfuel.com/article/how-to-rename-a-system-file-using-node-js

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端先锋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • fs.rename():
  • fs.renameSync():
  • 结论
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档