Batch create folders based upon spreadsheet then move/copy associated files to folders, how?

Its amazing to us that no basic tool exists to create folders and copy files to folders based upon an association db.  Administration of document and image files seems still be in the "paper filing age" as we have no batch admin to create folders, and copy files to folders based upon a known list containing all of the needed data. Up until now its been a manual process... and it sucks.

We need to batch create folders based upon list in spreadsheet columns b-n, no dups and then move files associated in column A to those folders.  Thousands of files added daily to folders. New spreadsheets provided everyday.  Corrections discovered as files(images) reviewed over time... need for backout by date and re-apply to put in corrections. Master spreadsheet to track needed corrections to folder file associations.  

We find ourselves creating 1000 to 2500 folders per week in windows.  Looking at a spreadsheet that has the numerical sequence of images 2000 - 10,000 images in column A looking at the participants the images were taken of in columns B-N and copying manually all of the images manually to their specific folders.  This is a ton of work(hours) and in our opinion absolutely insane to not have automated the create and move process as well as apply corrections in batch.
The human error in doing this manually increases as the days and weeks go on. We need to automate this badly.  We've found nothing that does this. Only commands, Jscript that addresses a single create or move.

More detail and rehash:  I have a spreadsheet I get from a photographer in column A is his alpha/numeric image range could be 2-10 thousand images... in columns b-n are the numbers of the participants in the photos (who he has taken the images of)...  this could be a single individual (most of the time) but it could also be a pair or a group of people.  Note all images are always in sequence... Creating Column A is a no brainer, entering in all of the participants is data entry that has to be done.  Say the photographer is taking pics knows he is starting with image 2130 identifies the participant number as 1767 puts that in colmn b next to image # 2130 in column a and takes 12 images he has the next available starting image as 2142 enters the next participant in column B next to 2142 and so on. We see then that we can assume the range of images belonging to each rider is from the starting image in sequence until the next participant appears in Column B which is the next associated range.

Folders would be created for each participant as needed... the range of images contained in an "all" images folder belonging to a specific participant(s) would then be copied to a specific participant folder.

The photographers helpers supply the list/spreadsheet at the end of each day then we create the folders and copy the photos to those folders as quickly as we can get them there so we can lookup and display images for the participants to buy.  Galleries are greated based upon images in each folder.  Images are added daily as the event goes on for usually a week.

As we get corrections we make those in the spreadsheet (images in the wrong folder or wrong participant numbers)  It would be good know which images were for what day and be able to back out the batch job for that date and apply the corrections in batch at the end of each day as needed. ( Its prohibative to review images individually at the end of each day to minimize errors, manually applying ther corrections is also time consuming so being able to back out the folder create and file copy and then to reapply the corrected associations so image and participant match is correct is preffered.

We are also adding cameras so there may be more than one image range and participants may appear later in a single days shoot in the same image range or in another cameras range. Image numbers(file names) would always be unique for the entire week.

All images are put in a specific image folder.

This seems straight forward enough and have bits and pieces of jscript etc for folder create file move etc. But frankly to get this done "right" we are looking for a best approach and someone to assist us with this.  Our thoughts are to use Access as the database give the simplicity of the app with simple forms to log the coreections in and an administrative "console" to launch jobs from.

Assistance on this would be greatly appreciated.  I'm not a programmer and think tackling this myself might be an effort in futility but I may have to try if I cant find coding assistance. Thanks for reading.

Specific detaild questions or inquiry welcome.
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

its one thing to ask for a bit of coding advice, but when you're asking for someone to do all the work for some 250 points, you'll be lucky to recieve a response.  If someone has already contacted you, then all the best, if not, consider making a more palatable offer to the group.


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
rayrich01Author Commented:
I understand your point but providing advisement and direction .. would be good response. Would it not?
Okay, here's my take on it.

It all depends on how you'd like to complete the task at hand and what tools are you willing to use/pay for. If it came down to my decision, I would choose to use VB.Net, since the framework and most of teh programming tasks are done for you.  If you know even simple VB you can probably rush out a program in no time.

Start out small, and as you finish each section move on adding newer and better features.  
Create a form and on it request a number of parameters that would be filled in by the user:

1.) How many folders to create?
2.) Should the folders be named A... B... C... or A1... B1... C1... make the goal clear and easy to predict.
3.) find which directory to place the folders into... either a default one which is common to your practice or one a user can choose from.

let the second version take in an input file (excel, etc.) and parse it.  That will take you a bit more time to complete, so let the first project complete, without any bugs and push it into your company for immediate use.  As you get to program better and more efficiently, you'll see the screw-ups and learn to be a better programmer overall.

Set goals and expected time-to-complete for each task.  If you encounter problems, ask for help... people on this site are dedicated to exerting their ego and some are genuinely looking to help you become a better programmer or at bare minimum looking to help you resolve your problem.

Then again, you're time may be more valuable then that and you may want to outsource the project.  If you choose to do so, the look carefully at whom you choose and request a basic estimate.  Don't add on new requirements unless absolutly necessary and make sure you get to keep all source code in case you want to make future changes.

Finnally either way you go:
Those 5 paragraphs are confusing and should be bulleted down to the most essential algorithm.


1.) Input File
2.) Process Input File
2. a.) Failure => Alert User, Abort
2. b.) Success => Create requested folders

This is of course over-simplified as I take it you want multiple ways of creating batch folders.

Consider getting published in an op-ed section of a newspaper with a 5 page essay... no one will bother reading it and no newspaper will accept it.  Leave yourself at under 500 words and strait to the point, and your bound to be included or at least recognized.  If you state the requirements in steps and ask for help from that point on, I'm sure more people will read the post and help you on your way.
rayrich01Author Commented:
Thanks for the insight
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.