环境变量不扩展

时间:2013-02-07 16:32:39

标签: windows batch-file

平台:Windows Vista Service Pack 2(x86)

我正在搞乱批处理脚本并意识到它们可以作为命令提示符(是的我知道批处理脚本运行时抛出了命令提示符)我的意思是批处理脚本可以提示用户输入命令然后调用命令

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

ECHO(
%command%
ECHO(

唯一的问题是,当我键入例如cd%windir%时,我收到一条错误消息,告诉我系统找不到指定的路径。所以我输入了echo%windir%和echo打印%windir%,它完全没有扩展。我想知道问题是否是因为我将环境变量嵌套在%命令%变量中但是从我的理解CMD.exe确实支持嵌套环境变量。我尝试使用延迟扩展,但变量仍未扩展。

1 个答案:

答案 0 :(得分:3)

添加callcmd /c以评估变量。

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

call %command%
ECHO;