How can you create a list from a folders contents that is auto updated?

I need to have a list of the contents of a directory  automatically updated in an Access database  is there anyway to do this?

If not, does anyone have any other suggestions on how I may be able to accomplish that

Who is Participating?
Adam RayConnect With a Mentor Commented:
mredfelix, what language is that in?  I.E.  I don't do any scripting in Access, so I don't know if that will run or not, but I do know it's won't work as a stand-alone vbscript (.vbs) file.

The code below (with a bit of modification) is from
You can just drop it in a .vbs and it will create a .txt file with all of the files in the directory, one entry per line.

There are lots of options on things you can include in the listing.  Listing files in subdirectories is quite possible, but it does get more complicated.  Modifing the script on this page to output to a file rather than to console will do the trick:

Once you have the file you can then import it into Access.

But if you want something that is completely automated you can use and ODBC connection from the VBscript and write the information directly to the Access database.  There should be plenty of examples of that out there if you search for it.  

On Error Resume Next
  Dim fso, folder, files, NewsFile,sFolder
  Set fso = CreateObject("Scripting.FileSystemObject")
  sFolder = "C:\temp"
  Set NewFile = fso.CreateTextFile(sFolder&"\FileList.txt", True)
  Set folder = fso.GetFolder(sFolder)
  Set files = folder.Files
  For each folderIdx In files

Open in new window

mredfelixConnect With a Mentor Commented:
i would read the files output them to a csv file and run it as a schedule task.

or you can create a script to monior the change in the folder
/* Create the FileSystemObject */
fso = new ActiveXObject("Scripting.FileSystemObject");
/* Point the Object to a specific folder */
fsofolder = fso.GetFolder("C:\\temp");
/* get a collection of the files contained in that folder */
colFiles  = fsofolder.Files;
/* Create an Enumerator so that we can move through the collection */
fc = new Enumerator( colFiles );
/* Create a variable to store an output message in */
var msg = "";
/* Loop through the Enumerator and add each item to our variable */
for (; !fc.atEnd(); fc.moveNext() ){
 msg += fc.item() + "\n";
/* Show the user the results */
WScript.Echo( msg );

Open in new window

it is a vbs script and its not a complete script...
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

PCoulterAuthor Commented:
I heard somewhere that I may be able to create a file from DOS to place in the folder that would automatically update any changes made within the folder.... anyone know anything about this?

I am unfamiliar with the where I should place the scripts mentioned above...
you can run it as a schedual task anywhere

its the  sFolder  which is the key as that says what folder it is

Adam RayConnect With a Mentor Commented:
The Windows file system does not have the ability to send out any type of alert when a folder changes.  However, you can make a script (or use an existing application someone else wrote) that runs in the background all the time and monitors to folder for changes every X seconds.  There are examples of this on Microsoft's Script Center, try searching for "Hey Scripting Guy"  This solution is almost certainly the type of thing that you were thinking about as a "file from DOS," since many of these solutions run from the command prompt (i.e. DOS window.)

If you want something like that, as opposed the above scripts possibilities are more intended to be run via a scheduled task from every X _minutes_ to every other week (or however long.)  But just to be sure you don't get over lapping results I wouldn't run the scheduled task flavor more than frequently than ever 10 minutes.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.