2015-07-06 75 views
0

我們需要更改服務器上大量文件夾上的上次寫入時間和上次訪問的文件夾屬性。如何修改文件夾的上次寫入時間和上次訪問

我們發現程運行PowerShell的如下做到這一點:

set-itemproperty -Path C:\testsource\folder1 -Name LastWriteTime -Value ((get-date).adddays(-90)) 

正如你所看到的get最新方法添加adddays東西。是否有任何功能可以精確設置爲「2013-05-03 11:31」?

原因是我有這個確切的日期,例如從以前的備份「2013-05-03 11:31」,需要替換「2015-03-12 18:31」,你可以看到它是否非常挑戰設置addminute原因我們正在處理數百個文件夾。

感謝您的意見。

+1

所以你的問題真的是「我怎麼解析'2013-05-03 11: 31'到DateTime對象,所以它可以被傳遞到'-Value'「(你是否也試過'--Value'2013-05-03 11:31''?) –

+0

正確。我沒有真正測試過。 – dcpartners

+0

嘗試事先創建一個DateTime對象,並使用-Date參數。請參閱[this](https://technet.microsoft.com/zh-cn/library/hh849887.aspx)以供參考。 –

回答

1

如果你想LastWriteTime屬性重置爲一個特定的(固定的)日期和時間簡單地把它作爲一個字符串,如@ScottChamberlain在評論你的問題說:

Set-ItemProperty -Path C:\testsource\folder1 -Name LastWriteTime -Value '2013-05-03 11:31' 

傳遞日期值,也可以(請參閱@AmrAyman提供的答案),但通常情況下,如果您需要進行日期計算,則通常只需要執行額外的步驟。例如,如果你想把日期重置到相對當前的特定時間,你可以這樣做:

$date = (Get-Date).Date.AddDays(-90).AddHours(11).AddMinutes(31) 
Set-ItemProperty -Path C:\testsource\folder1 -Name LastWriteTime -Value $date 
0

使用此語法(在循環之前對效率,)創建一個DateTime對象事先:

$date = Get-Date "5/3/2013 11:31 AM" 

而在-Value參數,傳遞$date

相關問題