Powershell - время находится в пределах временного диапазона? - PullRequest
0 голосов
/ 07 мая 2020

Я запускаю сценарий Powershell, который выполняет резервное копирование AWS S3. Мне нужно узнать, находится ли текущее время в пределах временного диапазона. Если время с 12:00 до 13:00 $ CurrRun = 'NoonBackup'

Ответы [ 2 ]

0 голосов
/ 08 мая 2020

Спасибо за вклад, Ли. Проблема заключалась в том, как узнать, вызывается ли скрипт в 12:30 или в 23:30. Поэтому я хотел проверить, было ли время между 12 и 13 часами, чтобы быть в безопасности. Результат оказался намного проще, чем я ожидал, поскольку все, что мне нужно, это 12 часов вечера в 24-часовом формате (ЧЧ). 12-часовой формат (чч).

$ CurrRun = 'NightBackup' $ CurrHour = Get-Date -Format HH if ($ CurrHour -eq 12) {$ CurrRun = 'NoonBackup'}

$ CurrRun

0 голосов
/ 08 мая 2020

вот один из способов определить, была ли последняя запись в файл в течение указанного 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.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...