gpt4 book ai didi

vbscript - 以 100 纳秒的粒度显示 NTFS 时间戳

转载 作者:行者123 更新时间:2023-12-04 18:15:02 24 4
gpt4 key购买 nike

我知道 FAT 文件系统以 2 秒的粒度存储文件的时间戳(修改日期等),而 NTFS 以 100 纳秒的粒度存储它们。

我正在使用带有 FileSystemObject 的 VBScript 来显示文件详细信息。函数 file.DateLastModified 向我显示了 1 秒精度的日期(在 NTFS 上)。

有没有办法根据NTFS的内部存储粒度精确显示时间戳。我在想象类似 8/9/2010 14:40:30,1234567

如果没有 VBScript/FileSystemObject,还有其他方法吗?

最佳答案

文件时间戳在 NTFS 中保存为 FILETIME,但毫秒部分不会传递给 Variant DateTime,因此 VBS 看不到它。 WMI 对象可以支持这一点。

Sub PrintTimestamp(sFilename)
Set oWMI = GetObject("winmgmts:!\\.\root\cimv2")
Set oFiles = oWMI.ExecQuery("Select * from CIM_DataFile where Name = '" & sFilename & "'")
Set oDateTime = CreateObject("WbemScripting.SWbemDateTime")
For Each oFile in oFiles
oDateTime.Value = oFile.LastAccessed
WScript.Echo oFile.Name & " " & oDateTime.GetVarDate & " " & oDateTime.Microseconds
Next
End Sub
PrintTimestamp("c:\\temp\\demo.vbs")

关于vbscript - 以 100 纳秒的粒度显示 NTFS 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5180592/

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