在我们团队中,每天都有一群人从门户中提取报告,并将其命名为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
提取的日期需要与第一行进行比较,第二列具有日期。如果它们相等,则将文件移到另一个目录。
如何实现?希望我能很好地解释我的问题。
答案 0 :(得分:0)
我会用。
%%A
_
的名称(不带扩展名)拆分为%%B
和%%C
技术上来说,findstr和move两者可以在一行上, 但这很难遵循。
"Name,Date"