Windows 명령 프롬프트에서 밑줄 다음에 변수 호출

Windows 명령 프롬프트에서 밑줄 다음에 변수 호출

내 배치 파일에서 밑줄 다음에 변수를 호출하려고 합니다. 그러나 밑줄 뒤에 추가하면 변수가 인식되지 않습니다.

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

따라서 Windows는 위 코드에 대해 Delta_{X에 대해 사용자가 제공한 폴더 이름} 대신 Delta_라는 이름의 디렉터리를 생성했습니다.

이 상황을 해결하기 위해 다른 변수에 밑줄을 할당하고 두 변수를 모두 호출했는데 제대로 작동했습니다. 이 문제를 처리할 수 있는 다른(올바른) 방법이 있는지 확인하고 싶었습니다.

해결 방법:

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%

관련 정보