Проблема с переименованием папок и подпапок с использованием пакетной

Итак, я пытаюсь настроить структуру файлов шаблонов для проектов, которые могут быть изменены по имени в соответствии с каждым проектом. Я создал примерный каталог, содержащий примеры папок, т.е. "Проект шаблона" содержит "оборудование шаблонов", "программное обеспечение шаблонов" и т.д., И имеет простую пакетную программу, которая копирует папку "шаблонный проект" и все содержащиеся вложенные папки, однако я бы хотел изменить слово "шаблон" на то, что когда-либо я выбираю для вызова проекта. Мне было интересно, можно ли это сделать? В идеале я мог бы просто отредактировать командный файл с именем проекта, а затем запустить его, чтобы скопировать шаблон и переименовать его.

Любая помощь очень ценится!

Ответ 1

Чтобы начать обучение типа help в командной строке. Затем что-нибудь в этом списке добавьте /? для получения дополнительной справки.

Set /p NewName=Enter project name

md "c:\somewhere\%newname%project\%newname% software
md "c:\somewhere\%newname%project\%newname% hardware

или используйте xcopy (и используйте /l, чтобы он выполнил тест без копирования)

xcopy "c:\tempate" "d:\%newname%" /e /h /q /i /c 

См. set /?, md /? и xcopy /?. Введите только set, чтобы просмотреть список переменных.

&    seperates commands on a line.

&&    executes this command only if previous command errorlevel is 0.

||    (not used above) executes this command only if previous command 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 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.

.
--