Skip to content

ES_scanFolders

Francisco M. E edited this page Jan 21, 2019 · 4 revisions

About

Este método permite leer desde javascript el arbol de directorios comenzando desde un directorio, si seleccionas la raiz del sistema tienes que tener en cuenta que dependiendo del número de directorios y ficheros el proceso puede tomarse algunos minutos en completarse.

Funciona en Linux, MAC o Windows.

Ejemplo de uso


const fs = require('fs');
const { scanFolders } = require('fs-hard-drive');
const { scanFoldersInfo } = require('fs-hard-drive');

let test = scanFolders('D:\\demofolder');

test
        .promise
        .then(() => {
            let testParsed = JSON.stringify(scanFoldersInfo[test.key]);
            fs.writeFile('sample.json', testParsed, function (err) {
                if (err) throw err;
                console.log('Result saved!');
            });
        })
        .catch((err) => {
            console.log('err: ', err);
        });

console.log('Other task while scaning is working');

Definiciones

El método retorna un objeto con dos propiedades

  • promise: Controla cuando finaliza el proceso
  • key: Indice dentro de "scanFoldersInfo" para acceder a la información del proceso.

Dentro de "scanFoldersInfo[key]" se define un objeto "Scan" con el resultado del mismo, puede ser consultado de mientras el proceso avanza.

Scan (objeto)

  • types: Contador de tipos de archivos encontrados
  • global: object
    • files: int
    • size: int bytes
    • start: Date object
    • end: Date object
  • tree: FolderInfo object

FolderInfo (objeto)

  • error
  • info: objeto
    • files: int
    • size: int bytes
  • folders: [FolderEntry]
  • files: [FileEntry]
  • others: [FileEntry]
  • not_readable: [FileEntry]

FolderEntry (objeto)

  • error
  • name: string
  • path: string
  • size: int bytes
  • children: [FolderInfo]

FileEntry (objeto)

  • error
  • name: string
  • path: string
  • size: int bytes