Учитывая, что имя файла, который вы хотите прочитать, меняется каждый день, вам нужно описать одни и те же правила именования в вашем коде, если вы не хотите, чтобы имя было жестко закодировано.
Поскольку (я предполагаю) вы просто хотите, чтобы сегодняшние данные находились в пути к файлу txt
, просто поместите это в имя файла. Вы можете сделать это с помощью moment следующим образом:
const moment = require('moment');
const fs = require('fs');
const now = moment();
const fileName = `CusInfo_${now.format('YYYY_MM-DD')}.txt`;
fs.readFileSync(fileName);
Теперь это вполне может вызвать ошибку, потому что нет гарантии, что файл txt
уже создан.
Чтобы справиться с этим, используйте fs.access() перед фактическим чтением файла.
fs.access(fileName, fs.constants.F_OK, (err) => {
if (err) {
fileName = `CusInfo_${now.add(-1, 'days').format('YYYY_MM-DD')}.txt`;
}
fs.readFileSync(fileName)
}
Этот код выше проверит, существует ли файл txt
на сегодняшний день, и если нет, изменит имя файла на вчерашнее txt
file.
person
Enslev
schedule
17.05.2018