我们需要在服务器上的许多文件夹中更改与上次写入时间和上次访问相关的文件夹属性。
我们通过运行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因为我们正在处理数百个文件夹。
感谢您的投入。
答案 0 :(得分:2)
如果您想将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
答案 1 :(得分:1)
使用以下语法预先创建一个DateTime对象(为了效率,在循环之前):
$date = Get-Date "5/3/2013 11:31 AM"
在-Value
参数中,传入$date
。