Open In App

Node.js fs.rmdir() Method

The fs.rmdir() method is used to delete a directory at the given path. It can also be used recursively to remove nested directories.

Syntax: 



fs.rmdir( path, options, callback )

Parameters: This method accept three parameters as mentioned above and described below:  

Below examples illustrate the fs.rmdir() method in Node.js:



Example 1: This example uses fs.rmdir() method to delete a directory. 




// Node.js program to demonstrate the
// fs.rmdir() method
  
// Import the filesystem module
const fs = require('fs');
  
// Get the current filenames
// in the directory
getCurrentFilenames();
  
fs.rmdir("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");
}

Output:

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

Current filenames:
index.js
package.json

Example 2: This example uses fs.rmdir() method with the recursive parameter to delete nested directories.




// Node.js program to demonstrate the
// fs.rmdir() method
  
// Import the filesystem module
const fs = require('fs');
  
// Get the current filenames
// in the directory
getCurrentFilenames();
  
// Trying to delete nested directories
// without the recursive parameter
fs.rmdir("directory_one", {
  recursive: false,
}, (error) => {
  if (error) {
    console.log(error);
  }
  else {
    console.log("Non Recursive: Directories Deleted!");
  }
});
  
// Using the recursive option to delete
// multiple directories that are nested
fs.rmdir("directory_one", {
  recursive: true,
}, (error) => {
  if (error) {
    console.log(error);
  }
  else {
    console.log("Recursive: 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");
}

Output:

Current filenames:
directory_one
index.js
package.json


[Error: ENOTEMPTY: directory not empty, 
rmdir 'G:\tutorials\nodejs-fs-rmdir\directory_one'] {
  errno: -4051,
  code: 'ENOTEMPTY',
  syscall: 'rmdir',
  path: 'G:\\tutorials\\nodejs-fs-rmdir\\directory_one'
}
Recursive: Directories Deleted!

Current filenames:
index.js
package.json

Reference: https://nodejs.org/api/fs.html#fs_fs_rmdir_path_options_callback
 


Article Tags :