ZetCode

VBScript DateLastAccessed 属性

最后修改于 2025 年 4 月 9 日

VBScript 中的 DateLastAccessed 属性是 FileSystemObject 的一部分。它返回文件最后一次被访问的日期和时间。此属性是只读的,并为文件跟踪和审计提供有价值的信息。它通常用于文件管理脚本。

DateLastAccessed 返回一个标准的日期值,可以根据需要进行格式化。该属性通过 FileFolder 对象与文件和文件夹一起使用。本教程将通过实际示例介绍 DateLastAccessed 的用法。

DateLastAccessed 属性概述

DateLastAccessed 属性属于 VBScript 中的 FileFolder 对象。它从文件系统中返回最后访问时间戳。该值包含日期和时间组件。

主要功能包括操作系统在文件访问时自动更新。该属性除了文件读取访问权限外,不需要特殊权限。了解此属性有助于创建文件监控和报告脚本。

基本文件访问日期检索

此示例演示了 DateLastAccessed 获取文件最后访问时间的最简单用法。它展示了如何通过 File 对象访问该属性。脚本显示原始日期值。

basic_access_date.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.GetFile("C:\Temp\example.txt")

lastAccess = file.DateLastAccessed
WScript.Echo "File last accessed: " & lastAccess

Set file = Nothing
Set fso = Nothing

脚本创建一个 FileSystemObject 并获取一个文件引用。它检索 DateLastAccessed 属性并显示它。输出显示了文件最后一次被访问的完整日期和时间。

格式化访问日期

此示例展示了如何格式化 DateLastAccessed 值以提高可读性。VBScript 的日期格式化函数用于以特定格式显示日期。该示例演示了常见的格式化需求。

format_access_date.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.GetFile("C:\Temp\report.doc")

lastAccess = file.DateLastAccessed
formattedDate = FormatDateTime(lastAccess, vbLongDate)
formattedTime = FormatDateTime(lastAccess, vbLongTime)

WScript.Echo "Last accessed date: " & formattedDate
WScript.Echo "Last accessed time: " & formattedTime

Set file = Nothing
Set fso = Nothing

脚本检索最后访问日期,并分别格式化日期和时间组件。vbLongDatevbLongTime 常量提供本地化格式。这种方法使输出更加用户友好。

比较访问日期

此示例演示了比较两个文件的 DateLastAccessed 日期。它展示了如何确定哪个文件被访问得更频繁。日期比较运算符用于评估。

compare_access_dates.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
Set file1 = fso.GetFile("C:\Temp\file1.txt")
Set file2 = fso.GetFile("C:\Temp\file2.txt")

If file1.DateLastAccessed > file2.DateLastAccessed Then
    WScript.Echo "file1.txt was accessed more recently"
ElseIf file1.DateLastAccessed < file2.DateLastAccessed Then
    WScript.Echo "file2.txt was accessed more recently"
Else
    WScript.Echo "Both files were accessed at the same time"
End If

Set file1 = Nothing
Set file2 = Nothing
Set fso = Nothing

脚本使用标准比较运算符比较两个文件的最后访问日期。条件逻辑决定了哪个文件最后被访问,或者它们是否同时被访问。此技术对于文件监控很有用。

检查最近文件访问

此示例展示了如何检查文件是否在特定时间段内被访问。它计算当前日期和最后访问日期之间的差值。脚本演示了使用 DateDiff 进行日期运算。

recent_access_check.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.GetFile("C:\Temp\data.dat")

lastAccess = file.DateLastAccessed
daysSinceAccess = DateDiff("d", lastAccess, Now())

If daysSinceAccess <= 7 Then
    WScript.Echo "File was accessed within the last week"
Else
    WScript.Echo "File wasn't accessed in the last week"
End If

Set file = Nothing
Set fso = Nothing

脚本计算自文件上次访问以来经过了多少天。它使用带“d”参数的 DateDiff 来计算天数差。该示例展示了与 7 天阈值进行比较以确定最近访问。

文件夹最后访问日期

此示例演示了将 DateLastAccessed 用于文件夹而不是文件。该属性对于 Folder 对象同样有效。脚本展示了如何检索目录的最后访问时间戳。

folder_access_date.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("C:\Temp\Projects")

lastAccess = folder.DateLastAccessed
WScript.Echo "Folder last accessed: " & lastAccess

Set folder = Nothing
Set fso = Nothing

脚本获取文件夹对象而不是文件的引用。DateLastAccessed 属性返回文件夹内容最后一次被访问的时间。此信息对于目录监控和清理脚本很有用。

来源

FileSystemObject 文档

在本文中,我们探讨了 VBScript 中的 DateLastAccessed 属性,涵盖了其用法和实际应用。从基本检索到日期比较和格式化,这些示例展示了文件访问跟踪。有了这些知识,您就可以增强文件管理脚本的访问时间监控功能。

作者

我叫 Jan Bodnar,是一位充满热情的程序员,拥有多年的编程经验。我自 2007 年以来一直撰写编程文章。到目前为止,我已撰写了 1400 多篇文章和 8 本电子书。我在教学编程方面拥有八年以上的经验。

列出所有 VBScript 教程