如何修改文件夹的上次写入时间和上次访问时间

dcp*_*ers 1 powershell

我们需要更改与服务器上许多文件夹的上次写入时间和上次访问相关的文件夹属性。

我们发现通过运行 Powershell 来做到这一点,如下所示:

set-itemproperty -Path C:\testsource\folder1 -Name LastWriteTime -Value ((get-date).adddays(-90))
Run Code Online (Sandbox Code Playgroud)

如您所见,get-date 方法正在添加 adddays 的内容。是否有任何功能可以将精确设置为“2013-05-03 11:31”最多一分钟?

原因是我有这个确切的日期,例如从以前的备份“2013-05-03 11:31”,需要替换“2015-03-12 18:31”,因为你可以看到设置 addminute 是否很有挑战性因为我们正在处理数百个文件夹。

感谢您的投入。

Ans*_*ers 5

如果您希望将LastWriteTime属性重置为特定(固定)时间戳,只需将其作为字符串传递,正如@ScottChamberlain 在对您的问题的评论中所说:

Set-ItemProperty -Path C:\testsource\folder1 -Name LastWriteTime -Value '2013-05-03 11:31'
Run Code Online (Sandbox Code Playgroud)

传递日期值也是可能的(请参阅@AmrAyman提供的答案),但通常您只想在需要进行日期计算时采取额外的步骤。例如,如果您希望将日期重置为相对于当天的特定时间,您可以执行以下操作:

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