mgr*_*639 5 vbscript timestamp ntfs granularity
据我所知,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")
Run Code Online (Sandbox Code Playgroud)