Powershell : Check time between a range to execute something.

這是我這陣子在研究一段客製化的PS時候意外找到。

$str = Get-Date '09:25'
$end = Get-Date '09:30'
$now = Get-Date

if ($str.TimeOfDay -le $now.TimeOfDay -and $end.TimeOfDay -ge $now.TimeOfDay) 
{
  Write-host "OK"
}

我想應該不用解釋太多。

$str : 設定開始時的時間
$end : 設定結束的時間
$now : 現在
如果開始的時間(9:25)<=現在的時間,同時結束的時間(9:30)>=現在的時間
就執行裡面的內容

附帶說明,可以替換的
-eq 等於
-ne 不等於
-ge 大於等於
-gt 大於
-lt 小於
-le 小於等於
-like Wildcard模糊比對(字元數字) – Wildcard comparison
-notlike Wildcard模糊比對(字元數字) – Wildcard comparison
-match 比對格式 – Regular expression comparison
-notmatch 比對相似 – Regular expression comparison
-replace 替換 -Replace operator
-contains Containment operator
-notcontains Containment operator
-in 類似於 -comtains,但是相反是動作
-notin 類似於 -notcontains ,但是是相反動作