Question

i want to make a Visual basic script console app that prints edited if a file has been modified. for example if i have a text file with some notes in and i add it to a folder when its edited the program checks the folder its in and the files then prints the name of the file and modified or not modified how would i go about doing this i am relatively new to Visual basic script i probably have 4 months basic experience.

    console.writeline("what do i do?")
    console.writeline("and how do i do it")

and I'm trying to do it as a console app so the preferred outcome i would like to see would be

    File Checker
    test.txt - Edited
    test2.pptx - Un-edited
    etc etc etc
Was it helpful?

Solution

If you need an immediate notification, WMI is probably the best route. But WMI will also require your process to be running (in a blocked state) all of the time. Alternatively, you could schedule a VBScript to be launched at some interval and it could check each file's last-modified date against a text file or database that you use to store the modification date the last time the script was run.

An even easier solution would be to just check if the modification time changed since the last run. For example, if your script runs every 10 minutes and you discover a file that was changed within the last 10 minutes, report it.

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
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top