扩展命令提示符的环境变量

时间:2012-03-23 18:03:45

标签: windows cmd environment-variables session-variables

我想运行一个cmd.exe,它会在调用时评估环境变量,而不是在解析命令时。如果我将BASE设置为2并回显它,我应该看到数字2,尽管运行此脚本没有正确设置基数。

预期行为: C:\Users\schristo>cmd.exe /X /C "set BASE=2 && echo %BASE% && pause" 2 Press any key to continue . . .

实际行为: C:\Users\schristo>cmd.exe /X /C "set BASE=2 && echo %BASE% && pause" %BASE% Press any key to continue . . .

1 个答案:

答案 0 :(得分:5)

这应该适合你:

cmd.exe /X /V:ON /C "set BASE=2&&echo !BASE!&&pause"

/V:ON启用变量的延迟扩展,这是您需要的。交换机的顺序(/V:ON /C)很重要。