我正试图在Windows命令行中将变量求值委托给子CMD进程。请考虑以下几点:
set foo=bar cmd /c "set foo=rod & echo %foo%"
它打印 酒吧 而不是 杆 因为表达 %foo% 在语句本身之前进行评估。我想反过来,这样它就会打印出来 杆 .怎么做?
%foo%
启用延迟扩展并使用它
set foo=bar cmd /V:on /c "set foo=rod & echo !foo!"