在批处理文件中声明和使用布尔变量的最佳方法是什么?这就是我现在正在做的事情:
set "condition=true"
:: Some code that may change the condition
if %condition% == true (
:: Some work
)
是否有更好的,更正规的"这样做的方法? (例如,在Bash中,您可以if $condition
true
,因为false
和{{1}}是他们自己的命令。)
答案 0 :(得分:14)
set "condition=y"
和
y
其中if defined
可以是任何字符串或数字。
这允许if not defined
和enabledelayedexpansion
两者都可以在块语句(带括号的语句序列)中使用,以查询标志的运行时状态,而无需set "condition="
if defined condition (echo true) else (echo false)
set "condition=y"
if defined condition (echo true) else (echo false)
即
false
第一个将回显true
,第二个JSON.stringify(object);
答案 1 :(得分:7)
我暂时坚持原来的答案:
set "condition=true"
:: Some code...
if "%condition%" == "true" (
%= Do something... =%
)
如果有人知道更好的方法,请回答这个问题,我很乐意接受你的回答。
答案 2 :(得分:0)
我想另一种选择是使用“ 1 == 1”作为真值。
因此重复该示例:
set condition=1==1
:: some code
if %condition% (
%= Do something... =%
)
当然可以设置一些变量来保存true
和false
的值:
set true=1==1
set false=1==0
set condition=%true%
:: some code
if %condition% (
%= Do something... =%
)