为什么SET不在同一行的ECHO命令中保留?

时间:2016-08-22 18:41:31

标签: batch-file cmd

我是Windows 10 64位新手并启动命令提示符并键入以下内容(设置变量并在同一行中回显):

H:\>set a="hello" & echo %a%
%a%

H:\>set a="hello" & echo %a%
"hello"

为什么我看不到"你好"我第一次回应它吗?

道歉,如果这是一个基本问题,我似乎无法在网上找到答案。

1 个答案:

答案 0 :(得分:1)

这是因为该行将在set命令之前进行评估,因此第一次运行%a%将按原样传递(字符串"%a%",因为a在场)。

评估变量后,第一行将如下所示:

set a="hello" & echo %a%

第二行将评估为:

set a="hello" & echo hello

在运行任何命令之前。