加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

vbscript – 以100 nsec粒度显示NTFS时间戳

发布时间:2020-12-14 01:58:56 所属栏目:Windows 来源:网络整理
导读:据我所知,FAT文件系统以2秒的粒度存储文件的时间戳(修改日期等),NTFS以100纳秒的粒度存储它们. 我正在使用带有FileSystemObject的VBScript来显示文件详细信息.函数file.DateLastModified以1秒的精度显示日期(在NTFS上). 有没有办法根据NTFS的内部存储粒度显
据我所知,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:!.rootcimv2")
  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:tempdemo.vbs")

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读