我试图在Get-ChildItem函数上过滤LastWriteTime,但是当我尝试使用英国日期过滤时,它会失败,因为它不是美国格式。
当我运行(Get-Culture).DateTimeFormat.ShortDatePattern
时,我会收到dd/MM/yyy
这是正确的格式。
但是,当我执行powershell过滤器语句时: -
GCI 'C:\ | ?{$_.LastWriteTime -ge '21/01/2018'}
我收到以下内容: -
Cannot convert value "21/01/2018" to type "System.DateTime". Error: "String was not recognized as a valid DateTime."
但是,如果我将日期更改为01/21/2018
,我会收到正确的结果。
我试图使用$_.LastWriteTime.ToString('dd-MM-yyyy') -ge '01[![enter image description here][1]][1]/01/2018'
,因为它从2017年返回日期而无法正常工作。
首先将日期字符串转换为日期对象:
$date = get-date '21/01/2018'
gci C:\ | ? {$_.LastWriteTime -ge $date }