我们从供应商处接收了csv文件,如果该作业在前一天的上午10:00运行,则我写了以下文件检查,如果最后收到的文件是前一天的文件。最近,文件在午夜之后放置。现在,我们要根据LastWriteTime确定收到的最后一个文件是来自当前日期还是前一天。检查最新的csv文件LastWriteTime是来自当前日期还是前一天。
例如,我们在05/27上午3:00左右收到05/26的csv文件,在05/27下午11:30左右收到05/27的csv文件,因此当作业在上午10:00运行05/28时。该脚本应从晚上11:30(05/27)开始提取csv文件。有没有更好的方法进行文件检查。
#FileCheck
$File = Get-ChildItem -Path "C:\Test\" -Filter "*.csv" | Sort-Object LastWriteTime -Descending | Select-Object -First 1
if(($File.LastWriteTime.Date -ne [datetime]::Today.AddDays(-1).Date) -OR ($File.LastWriteTime.Date -ne [datetime]::Today.Date))
{
#Raise error
}