读取主机Powershell日期时间
本文关键字:时间 日期 Powershell 主机 读取 | 更新日期: 2023-09-27 18:04:37
我正在尝试在powershell中读取日期和时间,并使用该日期和时间按名称和最后写时间排序。当我输入只有日期的值时,我没有看到任何问题,但当我添加时间时,我一直得到下面的错误。我如何让它工作?
不能比较"05/20/2014 11:42:18"answers" 05/22/2014 10:00:00 "。错误:"无法将值"'05/22/2014 10:00:00'"转换为类型"System.DateTime"。错误:"字符串未被识别为有效的DateTime。"
我的Powershell代码
$datetime= Read-Host "Enter the date time in this format 'mm/dd/yyyy hh:mm:ss'"
if(($datetime -as [DateTime]) -ne $null)
{
$datetime = [DateTime]::Parse($datetime)
$datetime
}
else
{
Write-Host "You did not enter proper date time"
}
$File= Get-ChildItem $FileLocation -Filter *.sql -Recurse | Where-Object {$_.LastWriteTime -gt $datetime} | Sort-Object Name
Try (get - date $datetime)获取一个PowerShell日期对象。
有两个问题。
第一种情况是,根据错误消息,您在日期时间周围输入带有单引号的日期时间。你不需要这样做。
第二点是,是的,它不是一个有效的日期时间。因此if语句将输出"You did not enter proper date time"
然后继续到$File= Get-Child ....
,当然会抛出一个错误,因为日期时间不合适。
你需要做的是把$File= Get-Child ....
行放在你的if
语句中,这样它只会在日期时间合适的时候执行。