1

平台:Windows Vista Service Pack 2 (x86)

我在搞乱批处理脚本并意识到它们可以充当命令提示符(是的,我知道批处理脚本运行会引发命令提示符)我的意思是批处理脚本可以提示用户输入命令然后调用命令。

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

ECHO(
%command%
ECHO(

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

4

1 回答 1

4

添加callcmd /c以这种方式评估变量。

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

call %command%
ECHO;
于 2013-02-07T16:45:58.207 回答