nodejs count files in a folder
I've used Node.js to count files in a folder many times. The easiest way to do this is by using the Node.js fs module, which provides a readdir() method that allows you to read the contents of a directory and count the files.
const fs = require('fs');
// Get the directory path
const directoryPath = path.join(__dirname, 'files');
// Read the contents of the directory
fs.readdir(directoryPath, function (err, files) {
// Return the number of files
return files.length;
});
Another way to count files in a folder is to use the glob package. The glob package provides a glob() method that can be used to get the list of files in a directory and then you can use the length property to get the total number of files in that folder.
const glob = require('glob');
// Get the directory path
const directoryPath = path.join(__dirname, 'files');
// Get the list of files in the folder
const files = glob.sync(directoryPath + '/*');
// Return the number of files
return files.length;
If you want to more accurately count the number of files and ignore hidden files, you can use a for loop with the fs.stat() method, which allows you to check the isDirectory() and isFile() properties of the file to make sure it is not a hidden file.
const fs = require('fs');
// Get the directory path
const directoryPath = path.join(__dirname, 'files');
// Read the contents of the directory
fs.readdir(directoryPath, function (err, files) {
let fileCount = 0;
// Loop through each file
for (let i = 0; i < files.length; i++) {
// Get the file stats
const fileStats = fs.statSync(files[i]);
// If it is a file and not a directory
if (fileStats.isFile() && !fileStats.isDirectory()) {
fileCount++;
}
}
// Return the number of files
return fileCount;
});