Método Node.js fs.rmdir()

El método fs.rmdir() se usa para eliminar un directorio en la ruta dada. También se puede utilizar de forma recursiva para eliminar directorios anidados.

Sintaxis: 

fs.rmdir( path, options, callback )

Parámetros: Este método acepta tres parámetros como se mencionó anteriormente y se describe a continuación:  

  • ruta: contiene la ruta del directorio que se debe eliminar. Puede ser una string, un búfer o una URL.
  • opciones: Es un objeto que se puede usar para especificar parámetros opcionales que afectarán la operación. Tiene tres parámetros opcionales:
    • recursivo: es un valor booleano que especifica si se realiza la eliminación recursiva del directorio. En este modo, los errores no se informan si no se encuentra la ruta especificada y la operación se vuelve a intentar si falla. El valor predeterminado es falso.
    • maxRetries: Es un valor entero que especifica el número de veces que Node.js intentará realizar la operación cuando falle por algún error. Las operaciones se realizan después de la demora de reintento dada. Esta opción se ignora si la opción recursiva no se establece en verdadero. El valor predeterminado es 0.
    • retryDelay: Es un valor entero que especifica el tiempo de espera en milisegundos antes de que se reintente la operación. Esta opción se ignora si la opción recursiva no se establece en verdadero. El valor predeterminado es 100 milisegundos.
  • callback: Es la función que sería llamada cuando se ejecuta el método. 
    • err: Es un error que se lanzaría si falla la operación.

Los siguientes ejemplos ilustran el método fs.rmdir() en Node.js:

Ejemplo 1: este ejemplo utiliza el método fs.rmdir() para eliminar un directorio. 

Javascript

// 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");
}

Producción:

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

Current filenames:
index.js
package.json

Ejemplo 2: este ejemplo utiliza el método fs.rmdir() con el parámetro recursivo para eliminar directorios anidados.

Javascript

// 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");
}

Producción:

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

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

Publicación traducida automáticamente

Artículo escrito por sayantanm19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *