如何在 DOS 中将变量求值委托给子 CMD 进程?

问题描述 投票:0回答:1

我试图将变量求值委托给 DOS 中的子 CMD 进程。考虑以下几点:

set foo=bar
cmd /c "set foo=rod & echo %foo%"

它打印 bar 而不是 rod,因为表达式

%foo%
在语句本身之前求值。我想反过来,这样它就会打印 rod。如何做到这一点?

batch-file cmd delegates dos child-process
1个回答
0
投票

启用延迟扩展并使用

set foo=bar
cmd /V:on /c "set foo=rod & echo !foo!"
© www.soinside.com 2019 - 2024. All rights reserved.