首页 > 解决方案 > 有没有办法在 powershell 中使用相当于 touch 来更新文件的时间戳?

问题描述

我经常使用 unix 命令“触摸”来更新系统中任何新获取/下载的文件的时间戳。很多时候,现有文件的时间戳是旧的,因此它可能会在系统中丢失。MS-Windows powershell 中有没有办法这样做。我有 powershell 5 和 powershell 6。

标签: powershellunixwindows-10touch

解决方案


您可以使用

$file = Get-Item C:\Intel\Logs\IntelCpHDCPSvc.log
$file.LastWriteTime = (Get-Date)

或者 CreationTime 或 LastAccessTime,如果您愿意的话。

作为一个函数

Function UpdateFileLastWriteTimeToToday() { 
        Param ($FileName)
    $file = Get-Item $FileName
    Echo "Current last write time: " $file.LastWriteTime
    $file.LastWriteTime = (Get-Date)
    Echo "New last write time: " $file.LastWriteTime
}

#How to use

UpdateFileLastWriteTimeToToday -FileName C:\Intel\Logs\IntelGFX.Log

随着输出

Current last write time: 
Tuesday, April 16, 2019 1:09:49 PM

New last write time: 
Monday, November 4, 2019 9:59:55 AM

推荐阅读