Node js Rename All Files in Folder Tutorial


You may need to use Node.js to rename all files in a folder when you want to automate the process of renaming multiple files in a directory. This can be useful for a variety of purposes, such as organizing files, standardizing naming conventions, or preparing files for further processing. Node.js provides a convenient way to iterate through files in a folder, modify their names, and perform mass rename operations, compared to manually renaming each file individually. Can save time and effort. This is especially useful when dealing with large numbers of files or when you need to apply frequent changes to their names.

Ezoic

In this tutorial, you will learn how to rename all files in folder with extension, type, size using node js.

How to Rename All Files in Folder using Node js

Here are some methods to rename all files in a folder with extension, type and size using Node.js:

  • Method 1: Using fs.readdir and fs.rename (Callback-based)
  • Method 2: Using Promises with fs.promises (Node.js 10+)
  • Method 3: Rename All Files in Folder with ExtensionEzoic

Method 1: Using fs.readdir and fs.rename (Callback-based)

You can rename all files in a folder in Node.js using fs.readdir and fs.rename (Callback-based). Here is an example to do this:

const fs = require('fs');
const path = require('path');

const folderPath = 'path_to_your_folder'; // Update with the path to your folder

fs.readdir(folderPath, (err, files) => {
  if (err) {
    console.error(err);
    return;
  }

  files.forEach((file, index) => {
    const oldFilePath = path.join(folderPath, file);
    const newFileName = `newName_${index}.ext`; // Update the renaming logic as per your requirements
    const newFilePath = path.join(folderPath, newFileName);

    fs.rename(oldFilePath, newFilePath, (err) => {
      if (err) {
        console.error(`Error renaming ${file}: ${err}`);
      } else {
        console.log(`Renamed ${file} to ${newFileName}`);
      }
    });
  });
});

Method 2: Using Promises with fs.promises (Node.js 10+)

You can rename all files in a folder in Node.js using Promises with fs.promises. Here is an example to do this:

Ezoic

const fs = require('fs').promises;
const path = require('path');

async function renameFilesInFolder() {
  const folderPath = 'path_to_your_folder'; // Update with the path to your folder

  try {
    const files = await fs.readdir(folderPath);

    for (let index = 0; index < files.length; index++) {
      const file = files[index];
      const oldFilePath = path.join(folderPath, file);
      const newFileName = `newName_${index}.ext`; // Update the renaming logic as per your requirements
      const newFilePath = path.join(folderPath, newFileName);

      await fs.rename(oldFilePath, newFilePath);
      console.log(`Renamed ${file} to ${newFileName}`);
    }
  } catch (err) {
    console.error(err);
  }
}

renameFilesInFolder();

Method 3: Rename All Files in Folder with Extension

To rename all files with a specific extension in a folder using Node.js, you can use the fs module to read the files in the folder, filter them based on their extension, and then use the fs.rename() method to rename each file. Here’s a simple example of how you can do this:

Ezoic

const fs = require('fs');
const path = require('path');

// Define the folder path and the target extension
const folderPath = './your-folder-path'; // Change this to the path of your folder
const targetExtension = '.jpg'; // Change this to the extension you want to rename

// Function to rename all files in the folder with the target extension
function renameFilesInFolder(folderPath, targetExtension) {
  fs.readdir(folderPath, (err, files) => {
    if (err) {
      console.error('Error reading folder:', err);
      return;
    }

    files.forEach((file) => {
      const filePath = path.join(folderPath, file);

      // Check if the file has the target extension
      if (path.extname(file) === targetExtension) {
        // Construct the new file name (you can modify this as needed)
        const newFileName = 'newPrefix_' + file;

        // Construct the new file path
        const newFilePath = path.join(folderPath, newFileName);

        // Rename the file
        fs.rename(filePath, newFilePath, (err) => {
          if (err) {
            console.error(`Error renaming ${file}:`, err);
          } else {
            console.log(`Renamed ${file} to ${newFileName}`);
          }
        });
      }
    });
  });
}

// Call the function to rename files
renameFilesInFolder(folderPath, targetExtension);

Conclusion

That’s it; you have learned how to rename all files in folder with extension, type, size using node js.

Ezoic

Recommended Tutorials

EzoicEzoic

Jaspreet Singh Ghuman

Jaspreet Singh Ghuman

Jassweb.com/

Passionate Professional Blogger, Freelancer, WordPress Enthusiast, Digital Marketer, Web Developer, Server Operator, Networking Expert. Empowering online presence with diverse skills.

jassweb logo

Jassweb always keeps its services up-to-date with the latest trends in the market, providing its customers all over the world with high-end and easily extensible internet, intranet, and extranet products.

Contact
San Vito Al Tagliamento 33078
Pordenone Italy
Item added to cart.
0 items - 0.00
Open chat
Scan the code
Hello 👋
Can we help you?