вот один из способов определить, была ли последняя запись в файл в течение указанного c часового диапазона. тест игнорирует дату, поэтому, если это необходимо, вам нужно будет обновить код.
что он делает ...
- создает константы, которые будут использоваться
- получает файл для работы с
в моей системе в это время, [0]
файл имеет LWT-час = 12p [1200 часов]. в файле [-1]
для LWT-часа установлено значение 5p [1700 часов]. - проверяет, находится ли час LWT в требуемом диапазоне.
- если да, он пишет, что на экране
вы должны поместить туда свой код «что делать, если да». [ ухмылка ] - если нет, он пишет предупреждение msg
код ...
$SourceDir = $env:TEMP
$Filter = '*.log'
$TargetHourRange = 12..13
# on my system right now ...
# the [0] file has "LastWriteTime" set to "12:33 PM"
# the [-1] file has "LastWriteTime" set to "5:28 PM"
$1stFile = (Get-ChildItem -LiteralPath $SourceDir -Filter $Filter -File)[0]
if ($1stFile.LastWriteTime.Hour -in $TargetHourRange)
{
'The LastWriteTime [ {0} ] of the file is in the required range [ {1} ].' -f $1stFile.LastWriteTime, "$TargetHourRange"
}
else
{
Write-Warning ( '{0} is out of range.' -f $1stFile.LastWriteTime)
}
вывод с 1200 файл часов ...
The LastWriteTime [ 2020-04-21 12:33:51 PM ] of the file is in the required range [ 12 13 ].
вывод с файлом 1700 часов ...
WARNING: 2020-04-27 5:28:48 PM is out of range.