Windows 11 22H2下cmd的dir /ta命令有时错误显示最后写入时间而非最后访问时间的问题咨询
Windows 11 22H2下cmd的dir /ta命令有时错误显示最后写入时间而非最后访问时间的问题咨询
各位好,我碰到了一个挺费解的问题,想跟大家请教下:
在我的Windows 11 22H2系统上,我已经通过fsutil behavior query disableLastAccess命令确认系统是保留最后访问时间戳的,而且在PowerShell里也能正常获取到正确的最后访问时间。
但在用cmd.exe的dir命令搭配/ta参数(按最后访问时间显示文件)时,有时候会出现和/tw参数(按最后写入时间显示)完全一样的结果——也就是错误显示最后写入时间,而非最后访问时间。
这个问题的表现还有些特殊:
- 只在部分文件上出现,但这些文件看起来没什么特别的,就是仅设置了A属性的普通文本文件
- 当这个问题出现时,文件资源管理器也会跟着错误显示最后写入时间,但PowerShell不管什么时候都能显示正确的时间戳
- 我没法稳定复现这个问题:下面的PowerShell测试代码运行时完全正常,不会出现上述异常
我猜测会不会是时间戳被缓存了?但如果是缓存的话,为什么PowerShell能拿到正确的时间呢?而且受影响的文件,这个错误状态会持续好几个小时都不消失,这也不太像缓存的表现。
未出现异常的PowerShell测试代码
# 创建测试文件 1 > _test.txt # 为文件设置不同的时间戳 (Get-Item _test.txt).LastWriteTime = '1970-01-01' (Get-Item _test.txt).LastAccessTime = '1970-01-01' # 读取文件以更新最后访问时间戳 $null = Get-Content _test.txt # 使用cmd的dir /ta命令查看文件 cmd /c dir _test.txt /ta # 在PowerShell中查看文件的最后访问时间 Get-Item _test.txt | Select-Object Name, LastAccessTime
备注:内容来源于stack exchange,提问作者mklement0
相关产品推荐
相关产品推荐

