使用批重命名文件夹和子文件夹时遇到问题

所以我试图build立一个模板文件结构的项目,可以修改名称,以适应每个项目。 我创build了包含示例文件夹的示例目录,即“模板项目”包含“模板硬件”,“模板软件”等,并有一个简单的批处理程序,复制“模板项目”文件夹和所有包含的子文件夹,但是我想用我select的项目来改变“模板”一词。 我想知道这是可能做到的吗? 理想情况下,我可以用项目名称编辑batch file,然后运行它来复制模板并重命名它。

任何帮助是极大的赞赏!

在命令提示符处开始学习inputhelp 。 那么这个列表上的任何东西都添加/? 获得更多帮助。

 Set /p NewName=Enter project name md "c:\somewhere\%newname%project\%newname% software md "c:\somewhere\%newname%project\%newname% hardware 

或者使用xcopy(并使用/l让它在不复制的情况下进行testing)

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

看到set /?md /? ,和xcopy /? 。 只需settypes即可查看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. EG copy file1+file2 newfile , used with copy to indicate missing parameters. This updates the files modified date. EG 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. . --