Node.js fs.renameSync() Method
Improve
The fs.renameSync() method is used to synchronously rename a file at the given old path to the given new path. It will overwrite the destination file if it already exists.
Syntax:
Output:
Output:
fs.renameSync( oldPath, newPath )Property Values:
- oldPath: It holds the path of the file that has to be renamed. It can be a string, buffer or URL.
- newPath: It holds the new path that the file has to be renamed to. It can be a string, buffer or URL.
// Node.js program to demonstrate the // fs.renameSync() method // Import the filesystem module const fs = require('fs'); // List all the filenames before renaming getCurrentFilenames(); // Rename the file fs.renameSync('hello.txt', 'world.txt'); // 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); }); } |
Current filenames: hello.txt index.js package.json Current filenames: index.js package.json world.txtExample 2: This example uses fs.renameSync() method to demonstrate an error during file renaming.
// Node.js program to demonstrate the // fs.renameSync() method // Import the filesystem module const fs = require('fs'); // List all the filenames before renaming getCurrentFilenames(); // Rename a non-existent file fs.renameSync('nonexist.txt', 'world.txt'); // 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); }); } |
Current filenames:
index.js
package.json
world.txt
internal/fs/utils.js:220
throw err;
^
Error: ENOENT: no such file or directory, rename 'nonexist.txt' -> 'world.txt'
at Object.renameSync (fs.js:643:3)
at Object. (G:\tutorials\nodejs-fs-renameSync\index.js:29:4)
at Module._compile (internal/modules/cjs/loader.js:956:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
at Module.load (internal/modules/cjs/loader.js:812:32)
at Function.Module._load (internal/modules/cjs/loader.js:724:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)
at internal/main/run_main_module.js:17:11 {
errno: -4058,
syscall: 'rename',
code: 'ENOENT',
path: 'nonexist.txt',
dest: 'world.txt'
}
Reference: https://nodejs.org/api/fs.html#fs_fs_renamesync_oldpath_newpath
Share your thoughts in the comments

