Linux下可以修改文件的时间属性,其实Windows下也有类似命令行工具:powershell
相关属性名
时间属性Linux下主要是:
atime
(last Access time) :最近一次访问文件的时间,访问指的是读取或者执行文件/文件夹的时间
ctime
(last Change time):最近一次 metadata 修改的时间,这里修改有两层意思:
1.修改文件/文件夹的 metadata,比如 user/group 或者访问权限(比如 chmod);2.修改文件内容
mtime
(last Modify time):最近一次修改的时间,这里的修改专指文件的内容修改
而Windows下主要是:
CreationTime
(另有CreationTimeUtc):当前文件或目录的创建时间(UTC时间)
LastAccessTime
(另有LastAccessTimeUtc):上次访问当前文件或目录的时间(UTC时间)
LastWriteTime
(另有LastWriteTimeUtc):上次写入当前文件或目录的时间(UTC时间)
操作:
1. Linux下:
常用touch
命令去修改。。。
2. Windows:
通常的笨办法就是提前修改系统时间,然后再去搞。。当然也有类似Linux的操作命令,这就是powershell,这时powershell就有用处了。
例如:
(1) 修改“修改时间”属性:LastWriteTime
Set-ItemProperty -Path xxxx -Name LastWriteTime -Value 'xxxx-XX-xx XX:xx:xx'
(2) “创建时间”属性:CreationTime
同理
Set-ItemProperty -Path xxxx -Name CreationTime -Value 'xxxx-XX-xx XX:xx:xx'
提示:上述示例命令中日期值
'xxxx-XX-xx XX:xx:xx'
所代表的日期格式为:'yyyy-MM-dd HH:mm:ss'
,这仅为powershell支持的其中一种,如果想自定义,可使用以下powershell命令转换并将其存到变量tarTime
中,然后在使用Set-ItemProperty
命令时带上:$tarTime = [System.DateTime]::ParseExact("xxxxXXxx_XXxxxx", "yyyyMMdd_HHmmss", $null) Set-ItemProperty -Path xxxx -Name LastWriteTime -Value $tarTime
具体日期格式可参考:
- PowerShell文档:Set-Date: Set-Date - PowerShell | Microsoft Docs
- 标准日期和时间格式字符串: 标准日期和时间格式字符串 | Microsoft Docs
参考资料:
- PowerShell文档:Set-ItemProperty: Set-ItemProperty - PowerShell | Microsoft Docs
- PowerShell文档:Get-ItemProperty: Get-ItemProperty - PowerShell | Microsoft Docs
- 51CTO_老周21: windows下如何修改文件的修改时间