Файл поиска Powershell, основанный на часах и минутах? - PullRequest
1 голос
/ 10 мая 2019

У меня есть скрипт powershell, который выбирает файлы, созданные между определенными часами, как показано ниже

if ($a.CreationTime      -gt (get-date).date -and 
    $a.CreationTime.Hour -ge 14 -and 
    $a.CreationTime.Hour -le 15){...}

Это будет забирать файлы с текущего дня и между 2PM и 3PM.

СейчасЯ хочу изменить диапазон времени между 1:30 PM и 3:30 PM. Как мне обработать минуты в моем сценарии?

Ответы [ 2 ]

1 голос
/ 10 мая 2019

Это довольно глоток, но вы не могли бы использовать:

Get-ChildItem | ForEach-Object{
    switch ($_.CreationTime.Hour){
        #creation hour is 1, check if minutes are over 30
        1 { if ($_.CreationTime.Minute -ge 30){ Write-Host $_; break} }
        #since hour is 2, no other check needed
        2 { Write-Host $_; break}
        #creation hour is 3, check if minutes is under 30
        3 { if ($_.CreationTime.Minute-le 30){ Write-Host $_; break } }
        #hour isn't 1,2 or 3 so do nothing
        default {break}
    }
}
0 голосов
/ 10 мая 2019

Отметьте $a.CreationTime.TimeOfDay.TotalHours как десятичное число (13.5,15.5)

if ($a.CreationTime -gt (Get-Date).Date -and 
    $a.CreationTime.TimeOfDay.TotalHours -ge 13.5 -and 
    $a.CreationTime.TimeOfDay.TotalHours -le 15.5){...}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...