
В моем пакетном файле я пытаюсь вызвать переменную после подчеркивания. Но переменная не распознается, если добавлена после подчеркивания.
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%