📜  NodeJS fs-extra move()函数

📅  最后修改于: 2022-05-13 01:56:56.962000             🧑  作者: Mango

NodeJS fs-extra move()函数

move()函数将文件或目录从源移动到用户指定的目标。如果要将文件移动到已存在同名文件的文件夹中,如果我们将overwrite选项设置为true ,该函数将覆盖该文件,否则将抛出错误,该文件已存在于文件夹。

句法:

fs.move(src,dest,options,callback);

参数:该函数接受上面提到和下面描述的四个参数。

  • src:它是一个字符串,包含要移动的文件的路径(源路径)。
  • dest:它是一个字符串,包含文件将被移动的路径(目标路径)。
  • 选项:它是一个具有覆盖属性的对象,可以是真或假。默认情况下,:假。如果设置为 true,则如果目标文件夹中存在同名文件,则该文件将被覆盖。
  • 回调:这是一个在已进行移动()函数将被调用的函数。它会导致错误或成功。它是一个可选参数,我们也可以使用 Promise 代替回调函数。

返回值:它不返回任何东西。

请按照以下步骤实现该函数:



  1. 可以使用以下命令安装该模块:

    npm install fs-extra
  2. 安装模块后,您可以使用以下命令检查已安装模块的版本:

    npm ls fs-extra

  3. 创建一个名为 index.js 的文件,并使用以下命令在文件中引入 fs-extra 模块:

    const fs = require('fs-extra');
  4. 创建一个名为 destination 的空文件夹和一个名为 file.txt 的文件。我们将使用此函数将文件移动到目标文件夹中。

  5. 要运行该文件,请在终端中写入以下命令:

    node index.js

项目结构将如下所示:

示例 1:



index.js
// Requiring module
import fs from "fs-extra";
  
// Source file
const src = "file.txt";
  
// Destination path
const dest = "destination/file.txt";
  
// Function call
// Using call back function
fs.move(src, dest, (err) => {
  if (err) return console.log(err);
  console.log(`File successfully moved!!`);
});


index.js
// Requiring module
import fs from "fs-extra";
  
// Source file
const src = "file.txt";
  
// Destination path
const dest = "destination/file.txt";
  
// Function call
// Using promises
// Setting overwrite to true
fs.move(src, dest, { overwrite: true })
  .then(() => console.log("File moved to the destination"+
                          " folder successfully"))
  .catch((e) => console.log(e));


输出:现在检查我们之前创建的目标文件夹。您会发现名为 file.txt 的文件现在已移动到目标文件夹

例 2:让我们再举一个例子。在目标文件夹中创建一个名为 file.txt 的文件,并在目标文件夹外创建另一个名为 file.txt 的文件。我们将在这个例子中尝试函数的 overwrite 属性。文件夹结构现在看起来像:


索引.js

// Requiring module
import fs from "fs-extra";
  
// Source file
const src = "file.txt";
  
// Destination path
const dest = "destination/file.txt";
  
// Function call
// Using promises
// Setting overwrite to true
fs.move(src, dest, { overwrite: true })
  .then(() => console.log("File moved to the destination"+
                          " folder successfully"))
  .catch((e) => console.log(e));

输出:您将观察到目标文件夹中的文件现在被文件夹外的文件覆盖。

注意:如果你没有将overwrite属性设置为false上面的程序将导致以下错误:

所以这就是我们如何在我们的程序中使用move()函数。

参考: https : //github.com/jprichardson/node-fs-extra/blob/HEAD/docs/move.md