Listar todos los archivos y carpetas de una ruta especifica en NODEJS

Document Este código permite listar todos los archivos y carpetas de una ruta especifica, guardando la información en una archivo JSON.

//Listar archivos.
const path = require('path');
const fs = require('fs');

var data=[];

console.log("Buscando...")
function scanDirs(directoryPath){
   try{
      var ls=fs.readdirSync(directoryPath);

      for (let index = 0; index < ls.length; index++) {
         const file = path.join(directoryPath, ls[index]);
         var dataFile =null;
         try{
            dataFile =fs.lstatSync(file);
         }catch(e){}

         if(dataFile){
            data.push(
               {
                  path: file,
                  isDirectory: dataFile.isDirectory(),
                  length: dataFile.size
               });

            if(dataFile.isDirectory()){
               scanDirs(file)
            }
         }
      }
   }catch(e){}
}

scanDirs('/ruta/a/listar');

const jsonString = JSON.stringify(data);

fs.writeFile('./resultado.json', jsonString, err => {
   if (err) {
      console.log('Error al escribir en el archivo', err)
   } else {
      console.log('Archivo guardado.')
   }
});


Resultado:
[{
   "path": "/ruta/a/listar/carpeta1",
   "isDirectory": true,
   "length": 0
}, {
   "path": "/ruta/a/listar/carpeta2",
   "isDirectory": true,
   "length": 0
}, {
   "path": "/ruta/a/listar/documento.txt",
   "isDirectory": false,
   "length": 0
}, {
   "path": "/ruta/a/listar/texto.txt",
   "isDirectory": false,
   "length": 4
}]

Comentarios

  1. Hola, sabes se lista el error de require is no defined , respecto a la primera linea de tu código, donde define el path, podrías ayudar a resolver dicho problema,por favor?.

    ResponderBorrar
    Respuestas
    1. Hola. Podría ser que te falte ejecutar npm install path y luego npm install

      Borrar
    2. Buena noche, con que comando puedo ejecutar el programa?

      Borrar

Publicar un comentario

Entradas más populares de este blog

Agregar datos a una tabla desde una fuente externa con JQUERY

Recorrer campos de un formulario con JQuery

Encriptar y desencriptar archivos con NodeJs y crypto-js