在我的 Windows 11 22H2 系统上,我已验证上次访问时间戳是否得到维护 ( fsutil behavior query disableLastAccess
),并且可以在 PowerShell 中检索它们。
然而,使用cmd.exe
的dir
命令,即按文件的上次访问时间/ta
显示文件,在情况上似乎与 的行为相同,即按文件的上次写入时间显示文件。/tw
这种情况仅有时发生:
某些文件会发生这种情况,但它们似乎没有什么特别的(仅具有
A
属性集的文本文件)。当这种情况发生时,文件资源管理器也会显示上次写入时间戳(但 PowerShell 始终显示正确的时间戳。
我无法可靠地重现这一点:下面的 PowerShell 测试代码按预期工作。
这与缓存时间戳有关吗?但是,如果是这样,为什么 PowerShell 能够检索它们?对于受影响的文件,即使几个小时后问题仍然存在。
PowerShell 测试代码,未表现出该症状。
# Create a test file.
1 > _test.txt
# Assign distinctive timestamps.
(Get-Item _test.txt).LastWriteTime = '1970-01-01'
(Get-Item _test.txt).LastAccessTime = '1970-01-01'
# Read the file, so as to update its last-access timestamp.
$null = Get-Content _test.txt
# List the file with its last-access timestamp.
cmd /c dir _test.txt /ta
# Do the same in PowerShell
Get-Item _test.txt | Select-Object Name, LastAccessTime