1
我有这样的代码:变量初始化是在批处理文件延迟
if "%2"=="32" (
set bit=This is 32bit
)
if "%2"=="64" (
set bit=This is 64bit
)
echo %bit%
)
,当我试图使用sample.bat /s 64
输出是“这是64位”,但是当我尝试使用sample.bat /s 32
输出仍然是“这是64位”。然后我将它切换回sample.bat 64,输出变成“This is 32bit”。我认为变量初始化正在推迟。有人知道解决方法吗?
+1 - 很好的接收。我很尴尬地说,这个问题从我身上吹过,没有我接受。 – dbenham
我试过你的代码,它工作..谢谢!但是,它应该在第二个参数中进行评估。当我添加“如果第一个参数是/ s,然后转到第二个参数并评估它,如果它是一个32或64位”,值似乎总是在32位。你可以在下面的答案中检查我的代码,因为我不能在评论部分发布它。 – user1621338
似乎我不能在答案中发布它,除非它真的是答案,我只是把它放在这里。 NEW CODE: SETLOCAL 如果 “%1” == “/ I”(如果 “%2” == “32”( 组位=这是32位 ) 如果 “%2” ==” 64" ( 设置位=这是64位 ) 回声%位% ENDLOCAL ) 现在输出的是停留在‘这是32位的’关于我多少次进入64 – user1621338