gpt4 book ai didi

PowerShell:更改文件夹或文件的时间戳(创建日期)

转载 作者:行者123 更新时间:2023-12-01 03:29:28 24 4
gpt4 key购买 nike

对于 Windows 10 上的 PowerShell 命令,我遇到了一个奇怪的行为。

要更改文件的创建日期,我使用:

Get-ChildItem  C:\testFile1.txt | % {$_.CreationTime = '01/11/2005 06:00:36'}

要更改文件夹的创建日期,我使用:
Get-Item  C:\testFolder1 | % {$_.CreationTime = '01/11/2004 22:13:36'}

这两个命令在系统分区 C:\或桌面上定期运行良好。

如果该文件夹存在于外部 USB 闪存驱动器上,情况就不同了。

(P.S. 更改文件时间戳的命令仍然在外部 USB 闪存驱动器上工作。)

假设我尝试更改外部 USB 闪存驱动器上文件夹(不是文件)的创建日期:
Get-Item  U:\testFolder1 | % {$_.CreationTime = '01/11/2002 06:00:36'}

我收到此错误消息:

异常设置“CreationTime”:“进程无法访问文件 'U:\testFolder1',因为它正被另一个进程使用。”
在行:1 字符:31
+ ... et-Item U:\testFolder1 | % {$_.CreationTime = '01/11/2002 06:00:36'}
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], SetValueInvocationException
+fullyQualifiedErrorId : ExceptionWhenSetting


进一步挖掘,我意识到该进程是 Windows 10 的文件资源管理器,它阻止我更改时间戳。只要我不打开文件资源管理器,我就可以使用 PowerShell 更改 USB 闪存驱动器上文件夹的创建日期。

有没有像 .Dispose() 这样的方法来阻止 Windows 10 的文件资源管理器锁定文件夹,而无需每次都关闭文件资源管理器?

最佳答案

请尝试以下命令。
(Get-Item "U:\testFolder1").LastWriteTime = '01/11/2002 06:00:36'}

关于PowerShell:更改文件夹或文件的时间戳(创建日期),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38959250/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com