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