📜  Node.js fs.rmdirSync() 方法

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

Node.js fs.rmdirSync() 方法

fs.rmdirSync() 方法用于同步删除给定路径的目录。它还可以通过配置选项对象递归地用于删除嵌套目录。它返回未定义。
句法:

fs.rmdirSync( path, options )

参数:此方法接受上面提到的两个参数,如下所述:

  • path:它保存必须删除的目录的路径。它可以是字符串、缓冲区或 URL。
  • options:它是一个对象,可用于指定将影响操作的可选参数。它具有三个可选参数:
    • recursive:它是一个布尔值,指定是否执行递归目录删除。在这种模式下,如果没有找到指定的路径并且操作失败时重试,则不会报告错误。默认值为假。
    • maxRetries:它是一个整数值,它指定 Node.js 尝试执行操作的次数,如果它由于任何错误而失败。这些操作在给定的重试延迟之后执行。如果递归选项未设置为 true,则忽略此选项。默认值为 0。
    • retryDelay:它是一个整数值,指定在重试操作之前等待的时间(以毫秒为单位)。如果递归选项未设置为 true,则忽略此选项。默认值为 100 毫秒。

下面的示例说明了 Node.js 中的fs.rmdirSync() 方法
示例 1:此示例使用 fs.rmdirSync() 方法删除目录。

javascript
// Node.js program to demonstrate the
// fs.rmdirSync() method
  
// Import the filesystem module
const fs = require('fs');
  
// Get the current filenames
// in the directory
getCurrentFilenames();
  
fs.rmdirSync("directory_one");
console.log("Folder Deleted!");
  
// Get the current filenames
// in the directory to verify
getCurrentFilenames();
  
// Function to get current filenames
// in directory
function getCurrentFilenames() {
  console.log("\nCurrent filenames:");
  fs.readdirSync(__dirname).forEach(file => {
    console.log(file);
  });
  // console.log("\n");
}


javascript
// Node.js program to demonstrate the
// fs.rmdirSync() method
  
// Get the current filenames
// in the directory
getCurrentFilenames();
  
// Using the recursive option to delete
// multiple directories that are nested
fs.rmdirSync("directory_one", {
  recursive: true,
});
console.log("Directories Deleted!");
  
// Get the current filenames
// in the directory to verify
getCurrentFilenames();
  
  
// Function to get current filenames
// in directory
function getCurrentFilenames() {
  console.log("\nCurrent filenames:");
  fs.readdirSync(__dirname).forEach(file => {
    console.log(file);
  });
  console.log("\n");
}


输出:

Current filenames:
directory_one
index.js
package.json
Folder Deleted!

Current filenames:
index.js
package.json

示例 2:此示例使用 fs.rmdirSync() 方法和递归参数来删除嵌套目录。

javascript

// Node.js program to demonstrate the
// fs.rmdirSync() method
  
// Get the current filenames
// in the directory
getCurrentFilenames();
  
// Using the recursive option to delete
// multiple directories that are nested
fs.rmdirSync("directory_one", {
  recursive: true,
});
console.log("Directories Deleted!");
  
// Get the current filenames
// in the directory to verify
getCurrentFilenames();
  
  
// Function to get current filenames
// in directory
function getCurrentFilenames() {
  console.log("\nCurrent filenames:");
  fs.readdirSync(__dirname).forEach(file => {
    console.log(file);
  });
  console.log("\n");
}

输出:

Current filenames:
directory_one
index.js
package.json


Directories Deleted!

Current filenames:
index.js
package.json

参考: https://nodejs.org/api/fs.html#fs_fs_rmdirsync_path_options