2013-02-07 77 views
1

平台:Windows Vista服务包2(86)环境变量不扩大

我是用批处理脚本瞎搞,并意识到他们可以作为命令提示符法案(是的,我知道运行批处理脚本扔在命令提示符)我的意思是批处理脚本可以提示用户输入命令,然后调用命令。

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

ECHO(
%command% 
ECHO(

唯一的问题是,当我如CD%WINDIR%键入我得到一个错误信息告诉我,系统找不到指定的路径。所以我输入了echo%windir%和echo print%windir%,它完全没有扩展。我想知道如果问题是因为我有环境变量嵌套在%命令%变量内,但从我所了解的CMD.exe确实支持嵌套的环境变量。我尝试使用延迟扩展,但该变量仍未扩展。

回答

3

添加一个callcmd /c来评估变量的方式。

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

call %command% 
ECHO; 
+0

我将CALL添加到了我的脚本中,现在它完美地工作,非常感谢您。 –