Цель: перебрать все файлы в каталоге X и получить значение SHA256 для каждого файла.
Кажется, что приведенный ниже код почти работает; он захватывает значение SHA256 для ОДНОГО файла, но не выполнено на следующей итерации. Я немного погуглил, но из-за моего ограниченного понимания узла я не могу найти ответ.
Спекуляция: после первой итерации; код больше не может найти полный путь?
Ошибка: [Error: ENOENT: no such file or directory, open 'example.txt'] {
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: 'example.txt'
}
example.txt
является вторым файлом в моем каталоге, код смог получить значение для первый файл.
const fs = require('fs').promises
const hasha = require('hasha');
const path = require('path')
async function getAllFiles(pathToFiles){
let files = await fs.readdir(pathToFiles);
for (const file of files) {
const fullPath = path.join(pathToFiles, file)
const hash = await hasha.fromFile(file.toString(), {algorithm: 'sha256'});
console.log(hash);
}
}
getAllFiles('.').then(() => {
console.log("all done");
}).catch(err => {
console.log(err);
});