【问题标题】:Trouble with renaming folders and sub folders using Batch使用批处理重命名文件夹和子文件夹的问题
【发布时间】:2015-08-04 22:37:51
【问题描述】:

所以我正在尝试为可以修改名称以适应每个项目的项目设置模板文件结构。我创建了包含示例文件夹的示例目录,即“模板项目”包含“模板硬件”、“模板软件”等,并且有一个简单的批处理程序复制“模板项目”文件夹和所有包含的子文件夹,但是我想要用我选择的项目名称来更改“模板”这个词。我想知道这是否可行?理想情况下,我可以只编辑带有项目名称的批处理文件,然后运行它来复制模板并重命名它。

非常感谢任何帮助!

【问题讨论】:

  • 您已经尝试过什么了吗?请提供您的代码示例...
  • 如果您完全不熟悉批处理,我建议您查看一些教程和command references

标签: windows batch-file


【解决方案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'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.

.
--

【讨论】:

    猜你喜欢
    • 2022-08-10
    • 2016-09-11
    • 2011-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-07
    • 2018-12-23
    • 1970-01-01
    相关资源
    最近更新 更多