NodeJS fs-extra move()函数
move()函数将文件或目录从源移动到用户指定的目标。如果要将文件移动到已存在同名文件的文件夹中,如果我们将overwrite选项设置为true ,该函数将覆盖该文件,否则将抛出错误,该文件已存在于文件夹。
句法:
fs.move(src,dest,options,callback);
参数:该函数接受上面提到和下面描述的四个参数。
- src:它是一个字符串,包含要移动的文件的路径(源路径)。
- dest:它是一个字符串,包含文件将被移动的路径(目标路径)。
- 选项:它是一个具有覆盖属性的对象,可以是真或假。默认情况下,:假。如果设置为 true,则如果目标文件夹中存在同名文件,则该文件将被覆盖。
- 回调:这是一个在已进行移动()函数将被调用的函数。它会导致错误或成功。它是一个可选参数,我们也可以使用 Promise 代替回调函数。
返回值:它不返回任何东西。
请按照以下步骤实现该函数:
可以使用以下命令安装该模块:
npm install fs-extra
安装模块后,您可以使用以下命令检查已安装模块的版本:
npm ls fs-extra
创建一个名为 index.js 的文件,并使用以下命令在文件中引入 fs-extra 模块:
const fs = require('fs-extra');
创建一个名为 destination 的空文件夹和一个名为 file.txt 的文件。我们将使用此函数将文件移动到目标文件夹中。
要运行该文件,请在终端中写入以下命令:
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