我在文件夹中有一个文件,其中包含以下LastWriteTime
-------------
08.09.2016 07:46:18
属性:
gci . | ? {$_.LastWriteTime -like '*08.09.2016*'}
gci . | ? {$_.LastWriteTime -eq '08.09.2016'}
gci . | ? {$_.LastWriteTime -eq '08.09.2016 07:46:18'}
为什么这些命令中没有任何一个返回File对象?
LastWriteTime
我的任务是将所有在08.09.2016上创建的文件递归地放在一个文件夹中,我知道如何做到这一点,但我的{{1}}比较不想工作。为什么呢?
答案 0 :(得分:2)
您的问题是$_.LastWriteTime
属于DateTime
类型,您将其与字符串进行比较。您需要自己创建DateTime
对象,例如:
[datetime]::ParseExact("31/12/1900", "dd/MM/yyyy", $null)
您也可以将$_.LastWriteTime
转换为字符串,例如:
$_.LastWriteTime.ToShortTimeString()
但请记住,在具有不同文化设置的计算机上,结果会有所不同。选项1是要走的路。完整示例如下所示:
gci . | ? {$_.LastWriteTime.Date -eq [datetime]::ParseExact("08/09/2016", "dd/MM/yyyy", $null)}