Каждый день в моей команде группа людей извлекает отчет из портала и называет его как ABC_23MAY2018.txt
, XYZ_23MAY2018.txt
и сохраняет его в каталоге.
Но из-за того, что это ручной процесс, люди делают ошибку, как будто они извлекают отчет 22MAY2018
(с неправильной датой на входе портала) и называют его ABC_23MAY2018.txt
и т. Д.
Это вызвало множество проблем, так как файл используется для целей отчетов. Я думал создать пакетный скрипт, который будет извлекать дату из имени файла - 23MAY2018
и сравнивать ее с датой, которая будет извлечена в другом файле date.txt. Я разобрался, чтобы извлечь дату из имени файла:
set Filedate=ABC*.csv
for /f %%A in ('dir /b %Filedate%') do (
set filename=%%~A
set fileCSV=!filename:~9,10!
echo !filename:~9,10!
)
Но как сравнить это с датой в файле. например, после извлечения даты из имени файла ее необходимо сравнить с данными data.txt, которые имеют значение, например:
ABC,23MAY2018
XYZ,23MAY2018
поэтому дата, извлеченная из ABC_23MAY2018.txt
, должна сравниваться с первой строкой, а во втором столбце указана дата. Если они равны, переместите файл в другой каталог.
Как мне этого добиться? Надеюсь, я хорошо объяснил свою проблему.