Сообщение от webgraph
|
Существует ли в Node.js функциональность, чтобы найти файл/ы (или проверить их существование), зная только часть их имени?
|
Найдите все файлы в директории и ищите среди них те, которые вам нужны.
Я бы сделал как-то так (код накидал на коленке и не проверял вовсе):
import {readdir} from 'node:fs/promises';
let index = {};
export function clearCache() {
index = {};
}
export async function findFiles(path, needle, amountOfFiles = null, shouldThrowAnError = false) {
let result = [];
try {
index[path] ??= await readdir(path);
if (index[path] instanceof Error) {
throw index[path];
}
for (const file of index[path]) {
if (file.includes(needle)) {
result.push(file);
}
if (amountOfFiles != null && result.length >= amountOfFiles) {
break;
}
}
} catch (err) {
index[path] = err;
if (shouldThrowAnError) {
throw err;
}
}
return result;
}
findFiles('/path', '298AA5B8');
// ['298AA5B8_AJSDA484_18477588.txt','LFK4883G_298AA5B8_93874223.txt']
findFiles('/path', '298AA5B8', 1);
// ['298AA5B8_AJSDA484_18477588.txt']
clearCache();