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

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

@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" 

Он ошибается и не переименовывает файл

Я исследовал и безуспешно пытался понять это. Любая помощь будет принята с благодарностью.

0
Paul Cockram 3 Май 2018 в 19:19

1 ответ

Лучший ответ

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

@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"
0
Compo 3 Май 2018 в 17:01