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

Ste*_*eve 3 windows cmd session-variables environment-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 . . .

Mar*_*arc 5

这应该适合你:

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

/V:ON启用变量的延迟扩展,这是您需要的.开关(/V:ON /C)的顺序很重要.