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

Powershell 如何修改上次写入时间和对文件夹的上次访问,powershell,Powershell,我们需要更改与服务器上许多文件夹的上次写入时间和上次访问相关的文件夹属性 我们发现通过运行Powershell可以做到这一点,如下所示: set-itemproperty -Path C:\testsource\folder1 -Name LastWriteTime -Value ((get-date).adddays(-90)) 如您所见,get date方法正在添加adddays内容。是否有任何功能可以将时间精确设置为2013-05-03 11:31最长一分钟 原因是,我有一个确切的日期,

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

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

set-itemproperty -Path C:\testsource\folder1 -Name LastWriteTime -Value ((get-date).adddays(-90))
如您所见,get date方法正在添加adddays内容。是否有任何功能可以将时间精确设置为2013-05-03 11:31最长一分钟

原因是,我有一个确切的日期,例如,从上一次备份2013-05-03 11:31,需要替换2015-03-12 18:31,您可以看到,设置addminute是否非常困难,因为我们正在处理数百个文件夹


感谢您的输入。

为了提高效率,在循环之前使用以下语法创建DateTime对象:

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

在-Value参数中,传入$date。

为了提高效率,在循环之前使用以下语法创建一个DateTime对象:

$date = Get-Date "5/3/2013 11:31 AM"
在-Value参数中,传入$date。

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

Set-ItemProperty -Path C:\testsource\folder1 -Name LastWriteTime -Value '2013-05-03 11:31'
传递日期值也是可能的,请参阅提供的答案,但通常情况下,您只希望在需要进行日期计算时执行该额外步骤。例如,如果希望将日期重置为相对于当前日期的特定时间,可以执行以下操作:

$date = (Get-Date).Date.AddDays(-90).AddHours(11).AddMinutes(31)
Set-ItemProperty -Path C:\testsource\folder1 -Name LastWriteTime -Value $date
如果要将LastWriteTime属性重置为特定的固定时间戳,只需将其作为字符串传递,正如@ScottChamberlain在对您的问题的评论中所说:

Set-ItemProperty -Path C:\testsource\folder1 -Name LastWriteTime -Value '2013-05-03 11:31'
传递日期值也是可能的,请参阅提供的答案,但通常情况下,您只希望在需要进行日期计算时执行该额外步骤。例如,如果希望将日期重置为相对于当前日期的特定时间,可以执行以下操作:

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

所以你的问题是,我如何将2013-05-03 11:31解析到DateTime对象中,以便将其传递到-Value。你刚才是否尝试过-Value“2013-05-03 11:31”?正确。实际上我还没有测试过。试着事先创建一个DateTime对象,并使用-Date参数。请参阅作为参考。因此,您的问题实际上是如何将2013-05-03 11:31解析为DateTime对象,以便将其传递到-Value。您刚才是否尝试了-Value“2013-05-03 11:31”?正确。实际上我还没有测试过。试着事先创建一个DateTime对象,并使用-Date参数。请参阅作为参考。