2
我有一个xyz.bat
文件与此内容:意外处理在cmd.exe的批处理文件 “变量”
@set val=one
@if "%val%" equ "one" (
@set val=yes
echo val after setting it: %val%
) else (
@set val=no
)
@echo %val%
运行它cmd.exe
打印
val after setting it: one
yes
,但我预计
val after setting it: yes
yes
这是为什么?有没有办法让它像我认为的那样行事? (
和)
之间
“扩张在解析时间“..多数民众赞成的解释,其余的只是fillup :)它更糟糕的cmd.exe与”for“-constructs .. cmd.exe创建一个”伪RAM脚本“的语句,并执行没有运行时评估。取决于OP最终想实现的目标:我会去jscript/vbs路由,这就是默认安装的@windows。因为,.py等更好,但也许OP有一些计划在他的脑海中。 – akira 2011-02-04 11:10:03