So I\'m trying to set up a template file structure for projects that can be modified in name to suit each project. I have created the example directory containing example folders i.e. \"Template project\" contains \"template hardware\" , \"template software\" etc. , and have a simple batch program that copies the \"template project\" folder and all contained subfolders, however I would like to change the word \'template\' with what ever I choose to call the project. I was wondering if this is possible to do? Ideally I could just edit the batch file with the name of the project and then run it to copy the template and rename it.
Any help is greatly appreciated!
To start learning type help
at the command prompt. Then anything on that list add /?
for more help.
Set /p NewName=Enter project name
md \"c:\\somewhere\\%newname%project\\%newname% software
md \"c:\\somewhere\\%newname%project\\%newname% hardware
or use xcopy (and use/l
to have it do a test without copying)
xcopy \"c:\\tempate\" \"d:\\%newname%\" /e /h /q /i /c
See set /?
, md /?
, and xcopy /?
. Type just set
to see a list of variables.
& seperates commands on a line.
&& executes this command only if previous command\'s errorlevel is 0.
|| (not used above) executes this command only if previous command\'s errorlevel is NOT 0
> output to a file
>> append output to a file
< input from a file
| output of one command into the input of another command
^ escapes any of the above, including itself, if needed to be passed to a program
\" parameters with spaces must be enclosed in quotes
+ used with copy to concatinate files. E.G. copy file1+file2 newfile
, used with copy to indicate missing parameters. This updates the files modified date. E.G. copy /b file1,,
%variablename% a inbuilt or user set environmental variable
!variablename! a user set environmental variable expanded at execution time, turned with SelLocal EnableDelayedExpansion command
%<number> (%1) the nth command line parameter passed to a batch file. %0 is the batchfile\'s name.
%* (%*) the entire command line.
%<a letter> or %%<a letter> (%A or %%A) the variable in a for loop. Single % sign at command prompt and double % sign in a batch file.
\\\\ (\\\\servername\\sharename\\folder\\file.ext) access files and folders via UNC naming.
: (win.ini:streamname) accesses an alternative steam. Also separates drive from rest of path.
. (win.ini) the LAST dot in a file path seperates the name from extension
. (dir .\\*.txt) the current directory
.. (cd ..) the parent directory
\\\\?\\ (\\\\?\\c:\\windows\\win.ini) When a file path is prefixed with \\\\?\\ filename checks are turned off.
< > : \" / \\ | Reserved characters. May not be used in filenames.
Reserved names. These refer to devices eg,
copy filename con
which copies a file to the console window.
CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4,
COM5, COM6, COM7, COM8, COM9, LPT1, LPT2,
LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9
CONIN$, CONOUT$, CONERR$
Maximum path length 260 characters
Maximum path length (\\\\?\\) 32,767 characters (approx - some rare characters use 2 characters of storage)
Maximum filename length 255 characters
Starting a Program
===============
See start /? and call /? for help on all three ways.
Specify a program name
--------------------------------
c:\\windows\\notepad.exe
In a batch file the batch will wait for the program to exit. When
typed the command prompt does not wait for graphical
programs to exit.
If the program is a batch file control is transferred and the rest of the calling batch file is not executed.
Use Start command
--------------------------
start \"\" c:\\windows\\notepad.exe
Start starts a program and does not wait. Console programs start in a new window. Using the /b switch forces console programs into the same window, which negates the main purpose of Start.
Start uses the Windows graphical shell - same as typing in WinKey + R (Run dialog). Try
start shell:cache
Use Call command
-------------------------
Call is used to start batch files and wait for them to exit and continue the current batch file.
.
--