批处理文件 - 使用用户输入重命名文件名的复制文件

时间:2018-05-03 16:19:19

标签: batch-file

我是批处理文件的新手,我正在尝试编辑最近为简单文件夹和子文件夹创建而编写的代码。

这是我目前的代码

@echo -
@echo PLEASE READ NOTES CAREFULLY
@echo -
@echo PLease Enter Project number and name inside quotation marks
@echo Example: "100 test folder"
@echo -
@echo -
@echo off
set /p dname= Name:
xcopy /e/i "C:\<Parent folder>\TEMPLATE" %dname%
ren %dname%\infotemp.xlsx "INFO %dname%.xlsx"

xcopy命令工作正常,并复制所有文件夹\子文件夹和2个Excel文件。我的问题是重命名excel文件 %dname%最终看起来像

456 Project Name

文件名应该看起来像

INFO 456 Project Name.xlsx

如果dname设置为不带空格,我可以使用上面的代码重命名该文件。

dname="456ProjectName"

当用户在提示符上输入空格时

dname="456(SPACE)Project(SPACE)Name" 

它出错并且不重命名文件

我一直在研究并试图在没有运气的情况下解决这个问题。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果使用正确/推荐的语法会发生什么?

@Echo Off
Echo -
Echo PLEASE READ NOTES CAREFULLY
Echo -
Echo Please enter project number and name
Echo Example: 100 test folder
Echo -
Echo -
Set /P "dname= Name: "
XCopy "C:\<Parent folder>\TEMPLATE" "%dname%" /E /I
Ren "%dname%\infotemp.xlsx" "INFO %dname%.xlsx"