gpt4 book ai didi

powershell - 在 “time”语句中使用Get-date “if” PowerShell

转载 作者:行者123 更新时间:2023-12-03 00:25:59 30 4
gpt4 key购买 nike

$WshShell = New-Object -ComObject wscript.shell
$Time = (Get-Date).hour
$Time2 = Get-Date -DisplayHint Time
$Message ="Test for $Env:username at: " + $Time2
$fail = "ERROR:It is $Time2, which is past 12PM"
$PopUp = $WshShell.popup("$Message",0,"Task Scheduler Pop-up",1)
if ($Time2 > 12)
{
$PopUp = $wshShell.popup("$Message",0,"Task Scheduler Pop-up",1)
}
else {
$PopUp = $wshShell.popup("$fail",2,"Task Scheduler Pop-up",1)
}

嗨,大家好,我正在练习一些PowerShell,遇到了一些我不太确定如何使用Google的东西,或者我需要使用哪种方法才能使其正常工作。

我试图完成的是仅显示我的框,小时和分钟显示为“12:31”。
正如您在脚本中看到的那样,我将
小时,但我还不太清楚如何正确地显示时间。我使用的是“时间”运算符,但是当您在“IF”语句中进行比较时,由于它不是真正的整数,因此无法将其识别为可以与之进行比较的东西。我知道为什么,但是我希望能够将.Hour与$ Time2进行比较

我是新手,感谢您能提供的任何帮助!
谢谢!

最佳答案

在实际需要之前,不要考虑输出字符串。
>无法进行比较,您需要使用-lt(小于)和-gt(大于)

如果要比较两个DateTime对象的时间(与日期无关),可以比较TimeOfDay属性:

$DateTimeNow = Get-Date 
$DateTimeEarly = Get-Date -Hour 1 -Minute 5

if($DateTimeNow.TimeOfDay -lt $DateTimeEarly.TimeOfDay){
"It is very early right now!"
} else {
"It is at least past 01:05"
}

如果要在输出中显示时间,则可以使用多种选项来格式化 DateTime字符串:

您可以将 ToString()方法与格式字符串一起使用:
PS C:\> (Get-Date).ToString('HH:mm')
20:41

格式运算符 -f:
PS C:\> '{0:HH:mm}' -f (Get-Date)
20:41

或者让 Get-Date本身返回格式化的字符串:
PS C:\> Get-Date -Format 'HH:mm'
20:41

如果您想要12小时的样式时间,请使用 hh:mm

关于powershell - 在 “time”语句中使用Get-date “if” PowerShell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33812870/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com