Solved

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

Posted on 2009-07-07
6
183 Views
Last Modified: 2012-05-07
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

0
Comment
Question by:PCoulter
  • 3
  • 2
6 Comments
 
LVL 5

Assisted Solution

by:mredfelix
mredfelix earned 50 total points
ID: 24799493
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

0
 
LVL 5

Accepted Solution

by:
Adam Ray earned 450 total points
ID: 24809961
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 http://www.go4expert.com/forums/showthread.php?t=927
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: http://www.microsoft.com/technet/scriptcenter/resources/qanda/oct04/hey1020.mspx

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

    NewFile.WriteLine(folderIdx.Name)

  Next

  NewFile.Close

Open in new window

0
 
LVL 5

Expert Comment

by:mredfelix
ID: 24811255
it is a vbs script and its not a complete script...
0
Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

 

Author Comment

by:PCoulter
ID: 24813341
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...
0
 
LVL 5

Expert Comment

by:mredfelix
ID: 24818015
you can run it as a schedual task anywhere

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

0
 
LVL 5

Assisted Solution

by:Adam Ray
Adam Ray earned 450 total points
ID: 24818473
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.
0

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

This article is in response to a question (http://www.experts-exchange.com/Networking/Network_Management/Network_Analysis/Q_28230497.html) here at Experts Exchange. The Original Poster (OP) requires a utility that will accept a list of IP addresses …
This article offers some helpful and general tips for safe browsing and online shopping. It offers simple and manageable procedures that help to ensure the safety of one's personal information and the security of any devices.
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now