Solved

Batch File - Prompt User for Folder Name

Posted on 2010-11-21
14
738 Views
Last Modified: 2012-05-10
I am creating a batch file that create many sub folders. I need the user to have ability to enter in the root folder name. Any ideas?
0
Comment
Question by:ntran80
  • 7
  • 6
14 Comments
 

Author Comment

by:ntran80
ID: 34183565
Sorry - I should expand my question.
The user would run my batch file as many time as neccessary to create the folder (with several pre define subfolders) When they click on the batch file, I like have a screen pop up for the user to name the folder.

Thanks in advances
0
 
LVL 68

Expert Comment

by:Qlemo
ID: 34183567
set /P root=Which folder to start with? 

Open in new window

should work. You can than refer to it with %root%.
0
 

Author Comment

by:ntran80
ID: 34184512
Can you write up the sample  command line? For example:
- lets say users click on the batch file, it prompts for the folder name, they type in "Tax Years"
- the batch file runs, it creates a folder name "Tax Years" then the following sub folders
2009
2010
etc...

Thank you.
0
 
LVL 68

Expert Comment

by:Qlemo
ID: 34184567
Something lie this:
@echo off
set /P "root=Please type in the path where to create all folders in: "
for %%F in (2009 2010 etc) do md %root%\%%F

Open in new window

We do not need to create the root folder, it is automatically created (if cmd.exe command extensions are on, which is the default).
0
 

Author Comment

by:ntran80
ID: 34184726
Actually - all folders will be create where the user run the batch file.
The user will be prompt to type in the folder name, not the path. The batch file will create the folder using user's input, then continue to create all sub folders (2009, 2010, etc...)

Thanks  
0
 
LVL 66

Expert Comment

by:johnb6767
ID: 34185316
No disrepesct intended, but I am not sure I see the purpose of automating this? Seems llike this is actually more complicated than having someone create a folder by hand.....
0
 
LVL 68

Expert Comment

by:Qlemo
ID: 34186168
I agree. As long as you do not have a big bunch of folders, or complete trees, the manual method is better.

You are not clear and logical in your demands. If you let them provide a folder name, where should that folder be created? You always need a path to start with, else the batch file will create the folder wherever it sees fit.
0
Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

 

Author Comment

by:ntran80
ID: 34215595
The user will be creating folders on regular basics; I need to have it automated as much as possible.

Sorry – I will attempt to explain it again. Please see attached file.
See the root level named “Client Name A”? Under “Client Name A” there are sub folders with different years; under “year’s folders” there will more sub folders several levels deep.

User clicks on the batch file, let’s say they type in “Client Name B” the batch file would create root level folder name “Client Name B” then all the predefine sub folders. Hope this will help clarify little better.


 
 
Screenshot.pdf
0
 
LVL 68

Accepted Solution

by:
Qlemo earned 500 total points
ID: 34216388
I assume the folders in the years' folders are the same. Then my batch works, slightly modified:
@echo off
set /P "root=Folder to create? "
for %%F in (2009 2010 etc) do ^
for %%G in (
   one\oneone
   two\twoone two\twotwo
   three
   four\fourone\next
   five
) do ^
md "C:\%root%\Year %%F\%%G"

Open in new window

That again assumes you have not too much of folders to create, and no repetitive structure under the subfolders of years.
0
 

Author Comment

by:ntran80
ID: 34332512
Thanks
0
 

Author Comment

by:ntran80
ID: 34468771
Qlemo:

Thanks again for adviced. The batch file worked great!
Here is mine final version (well sort of)

@echo off
set /P "root=Folder to create? "
for %%F in (2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2019 2020 PERM Planning_Advisory) do ^
for %%G in (
   Accounting_Services
   Audit
   Compilations
   Review
   Tax
   
) do ^
md "L:\%root%\%%F\%%G\"

Now I was asked to make a minor change to the batch file.
Under PERM and Planning_Advisory, is there anyway for the batch file NOT to create these subfolders
 Accounting_Services
 Audit
 Compilations
 Review
 Tax

Thanks in advances.

0
 
LVL 68

Expert Comment

by:Qlemo
ID: 34468886
The obvious answer is: Just remove them from the first FOR. I assume you only want to create that two folders, no subfolders in them, then add another command at the end of the batch:
for %%F in (PERM Planning_Advisory) do md "L:\%root%\%%F"

Open in new window

or put the corresponding mkdir commands there:
md "L:\%root%\PERM"
md "L:\%root%\Planning_Advisory"

Open in new window

whatever you like more. If you put the command(s) at the end of the batch, they are NOT part of the for %%F loop (only the first MD is, because its line is prefixed with a caret, which says "continue on next line").

So, put together and using one of the above options:
@echo off

set /P "root=Folder to create? "

for %%F in (2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2019 2020) do ^

for %%G in (

   Accounting_Services

   Audit

   Compilations

   Review

   Tax

   

) do ^

md "L:\%root%\%%F\%%G\"



md "L:\%root%\PERM"

md "L:\%root%\Planning_Advisory"

Open in new window

0
 
LVL 68

Expert Comment

by:Qlemo
ID: 34468891
Next improvement, since your years are consecutive:

@echo off

set /P "root=Folder to create? "

for /L %%F in (2006, 1, 2020) do ^

for %%G in (

   Accounting_Services

   Audit

   Compilations

   Review

   Tax

   

) do ^

md "L:\%root%\%%F\%%G\"



md "L:\%root%\PERM"

md "L:\%root%\Planning_Advisory"

Open in new window

0
 

Author Comment

by:ntran80
ID: 34468954
Qlemo:

Ahh...
You made this look easy.
Thank you so much for all your help!!!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

We have adopted the strategy to use Computers in Student Labs as the bulletin boards. The same target can be achieved by using a Login Notice feature in Group policy but it’s not as attractive as graphical wallpapers with message which grabs the att…
Today, still in the boom of Apple, PC's and products, nearly 50% of the computer users use Windows as graphical operating systems. If you are among those users who love windows, but are grappling to keep the system's hard drive optimized, then you s…
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…
Need to grow your business through quality cloud solutions? With everything required to build a cloud platform and solution, you may feel like the distance between you and the cloud is quite long. Help is here. Spend some time learning about the Con…

919 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

17 Experts available now in Live!

Get 1:1 Help Now