Vbscript 如何检测VBS中的文件更改

Vbscript 如何检测VBS中的文件更改,vbscript,changelog,Vbscript,Changelog,我想制作一个VisualBasic脚本控制台应用程序,如果文件被修改,它将打印经过编辑的文件。例如,如果我有一个文本文件,其中有一些注释,并且在编辑时将其添加到文件夹中,程序将检查其文件夹,然后打印文件名以及修改或未修改 我怎么做呢?我对Visual basic脚本比较陌生,可能有4个月的基本经验 console.writeline("what do i do?") console.writeline("and how do i do it") 我正在尝试将其作为一个控制台应用

我想制作一个VisualBasic脚本控制台应用程序,如果文件被修改,它将打印经过编辑的文件。例如,如果我有一个文本文件,其中有一些注释,并且在编辑时将其添加到文件夹中,程序将检查其文件夹,然后打印文件名以及修改或未修改 我怎么做呢?我对Visual basic脚本比较陌生,可能有4个月的基本经验

    console.writeline("what do i do?")
    console.writeline("and how do i do it")
我正在尝试将其作为一个控制台应用程序,因此我希望看到的首选结果是

    File Checker
    test.txt - Edited
    test2.pptx - Un-edited
    etc etc etc

如果需要立即通知,WMI可能是最好的路由。但是WMI还要求您的进程一直在运行(处于阻塞状态)。或者,您可以计划每隔一段时间启动一个VBScript,它可以根据文本文件或数据库检查每个文件的上次修改日期,您可以使用文本文件或数据库存储上次运行脚本时的修改日期

一个更简单的解决方案是检查自上次运行以来修改时间是否发生了变化。例如,如果脚本每10分钟运行一次,并且发现一个在过去10分钟内更改的文件,请报告该文件

With CreateObject("Scripting.FileSystemObject")
    For Each File In .GetFolder("c:\folder").Files
        If DateDiff("n", File.DateLastModified, Now) < 10 Then
            ' File has been modified in past 10 minutes.
        End If
    Next
End With
使用CreateObject(“Scripting.FileSystemObject”) 对于.GetFolder(“c:\folder”).Files中的每个文件 如果DateDiff(“n”,File.DateLastModified,Now)<10,则 '文件在过去10分钟内已被修改。 如果结束 下一个 以 您需要为修改事件创建文件。