powershell修改文件/文件夹的“修改日期”等属性

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

具体日期格式可参考:

  1. PowerShell文档:Set-Date: Set-Date - PowerShell | Microsoft Docs
  2. 标准日期和时间格式字符串: 标准日期和时间格式字符串 | Microsoft Docs

参考资料:

  1. PowerShell文档:Set-ItemProperty: Set-ItemProperty - PowerShell | Microsoft Docs
  2. PowerShell文档:Get-ItemProperty: Get-ItemProperty - PowerShell | Microsoft Docs
  3. 51CTO_老周21: windows下如何修改文件的修改时间
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容