Пакетный файл - переименование скопированного файла с вводом пользователем имени файла - PullRequest
0 голосов
/ 03 мая 2018

Я новичок в пакетных файлах и пытаюсь отредактировать недавно созданный код для простого создания папок и подпапок.

Вот мой текущий код

@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 голосов
/ 03 мая 2018

Что произойдет, если вы используете правильный / рекомендуемый синтаксис?

@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"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...