2013-02-07 4 views
1

플랫폼 : Windows Vista 서비스 팩 2 (86)환경 변수

내가 배치 스크립트와 장난 그들은 (그래 난 실행 배치 스크립트는 명령 프롬프트를 던졌다 알고) 명령 프롬프트의 역할을 할 수 있음을 깨달았다 배치 스크립트가 사용자에게 명령을 요구 한 다음 명령을 호출 할 수 있음을 의미합니다.

SET command= 
SET /P command=%cd%^> 

ECHO(
%command% 
ECHO(

유일한 문제는 내가 예를 들어 % cd % windir %를위한 입력 때 시스템이 지정된 경로를 찾을 수 없습니다 말해 오류 메시지가 있다는 것입니다. 그래서 나는 echo % windir %을 입력하고 echo % windir %를 출력했다. 정확히 전개되지 않았다. % command % 변수 안에 중첩 된 환경 변수를 가지고 있지만 CMD.exe가 중첩 된 환경 변수를 지원한다는 것을 알고 있기 때문에 문제가 발생한 것인지 궁금합니다. Delayed Expansion을 사용했지만 변수가 확장되지 않았습니다.

답변

3

그런 식으로 변수를 평가하려면 call 또는 cmd /c을 추가하십시오.

@echo off 
setlocal 
SET /P command=%cd%^> 

call %command% 
ECHO; 
+0

내 스크립트에 CALL을 추가 했으므로 이제는 완벽하게 작동합니다. –