ntran80
asked on
Batch File - Prompt User for Folder Name
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?
set /P root=Which folder to start with?
should work. You can than refer to it with %root%.
ASKER
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.
- 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.
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
We do not need to create the root folder, it is automatically created (if cmd.exe command extensions are on, which is the default).
ASKER
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
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
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.....
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.
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.
ASKER
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
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
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks
ASKER
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.
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.
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:
So, put together and using one of the above options:
for %%F in (PERM Planning_Advisory) do md "L:\%root%\%%F"
or put the corresponding mkdir commands there:md "L:\%root%\PERM"
md "L:\%root%\Planning_Advisory"
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"
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"
ASKER
Qlemo:
Ahh...
You made this look easy.
Thank you so much for all your help!!!
Ahh...
You made this look easy.
Thank you so much for all your help!!!
ASKER
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