El método fs.rename() se utiliza para renombrar de forma asíncrona un archivo en la ruta anterior dada a una ruta nueva dada. Sobrescribirá el archivo de destino si ya existe.
Sintaxis:
fs.rename( oldPath, newPath, callback )
Parámetros: Este método acepta tres parámetros como se mencionó anteriormente y se describe a continuación:
- oldPath: contiene la ruta del archivo que se debe renombrar. Puede ser una string, un búfer o una URL.
- newPath: contiene la nueva ruta a la que se debe renombrar el archivo. Puede ser una string, un búfer o una URL.
- callback: Es la función que sería llamada cuando se ejecuta el método. Tiene un argumento opcional para mostrar cualquier error que ocurra durante el proceso.
Los siguientes ejemplos ilustran el método fs.rename() en Node.js:
Ejemplo 1: este ejemplo utiliza el método fs.rename() para cambiar el nombre de un archivo.
// Node.js program to demonstrate the // fs.rename() method // Import filesystem module const fs = require('fs'); // List all the filenames before renaming getCurrentFilenames(); // Rename the file fs.rename('hello.txt', 'world.txt', () => { console.log("\nFile Renamed!\n"); // List all the filenames after renaming getCurrentFilenames(); }); // Function to get current filenames // in directory function getCurrentFilenames() { console.log("Current filenames:"); fs.readdirSync(__dirname).forEach(file => { console.log(file); }); }
Producción:
Current filenames: hello.txt index.js File Renamed! Current filenames: index.js world.txt
Ejemplo 2: este ejemplo utiliza el método fs.rename() para demostrar un error durante el cambio de nombre del archivo.
// Node.js program to demonstrate the // fs.rename() method // Import filesystem module const fs = require('fs'); // List all the filenames before renaming getCurrentFilenames(); // Rename the file fs.rename('hello.txt', 'geeks.txt', (error) => { if (error) { // Show the error console.log(error); } else { // List all the filenames after renaming console.log("\nFile Renamed\n"); // List all the filenames after renaming getCurrentFilenames(); } }); // Function to get current filenames // in directory function getCurrentFilenames() { console.log("Current filenames:"); fs.readdirSync(__dirname).forEach(file => { console.log(file); }); }
Producción:
Current filenames: index.js package.json world.txt [Error: ENOENT: no such file or directory, rename 'G:\tutorials\nodejs-fs-rename\hello.txt' -> 'G:\tutorials\nodejs-fs-rename\geeks.txt'] { errno: -4058, code: 'ENOENT', syscall: 'rename', path: 'G:\\tutorials\\nodejs-fs-rename\\hello.txt', dest: 'G:\\tutorials\\nodejs-fs-rename\\geeks.txt' }
Referencia: https://nodejs.org/api/fs.html#fs_fs_rename_oldpath_newpath_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