Вызов переменной после подчеркивания в командной строке Windows

Вызов переменной после подчеркивания в командной строке Windows

В моем пакетном файле я пытаюсь вызвать переменную после подчеркивания. Но переменная не распознается, если добавлена ​​после подчеркивания.

set /p X=Folder name:%=%
mkdir Delta_%X%

Таким образом, Windows создала каталог с именем Delta_ вместо Delta_{Имя папки, указанное пользователем для X} для приведенного выше кода.

Чтобы обойти эту ситуацию, я присвоил подчеркивание другой переменной и вызвал обе переменные, и это работает нормально. Хотел проверить, есть ли другой (правильный) способ справиться с этой проблемой.

Обходной путь:

set /p X=Folder name:%=%
set Z=_
mkdir Delta%Z%%X%

решение1

Нет никаких проблем с добавлением подчеркивания с помощью любого из описанных вами методов. Однако вы также можете добавить подчеркивание к своей %X%переменной следующим образом:

set /p X=Folder name: 
set X=_%X%

или вы можете добавить Delta_ следующим образом:

set X=Delta_%X%

Конечно, вы можете не захотеть этого делать, если вам нужно сохранить фактический пользовательский ввод для дальнейшего использования. Если это так, вы можете сделать это вместо этого:

set /p X=Folder name: 
set Y=Delta_%X%
echo user entered: %X%
mkdir %Y%

Связанный контент