2016-09-16 23 views
0

我有一個文件夾下面LastWriteTime屬性文件:GCI與LastWriteTime不返回正確的文件對象

LastWriteTime 
------------- 
08.09.2016 07:46:18 

爲什麼沒有任何這些命令的返回File對象?

gci . | ? {$_.LastWriteTime -like '*08.09.2016*'} 

gci . | ? {$_.LastWriteTime -eq '08.09.2016'} 

gci . | ? {$_.LastWriteTime -eq '08.09.2016 07:46:18'} 

我的任務是要獲取的是一個文件夾在2016年9月8日創建遞歸所有的文件,我知道該怎麼做,但我的LastWriteTime比較不想工作。爲什麼?

回答

2

你的問題是$_.LastWriteTimeDateTime的類型,你將它與字符串進行比較。您需要創建自己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)} 
+0

完美,謝謝! – SimonS

相關問題