2014-02-13 179 views
1

我想创建一个Visual Basic脚本控制台应用程序,用于打印编辑过的文件是否已被修改。例如,如果我有一个文本文件与一些笔记中,我将它添加到文件夹时编辑该程序检查该文件夹它的文件,然后打印文件的名称,修改或不修改 我将如何去这样做我对Visual Basic脚本来说比较新,我可能有4个月的基本经验。如何检测文件更改VBS

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 
+3

您需要[监视](http://stackoverflow.com/a/16119815/1630171)修改事件的文件。 –

回答

2

如果您需要立即通知,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