windows – Batchfile:声明和使用布尔变量的最佳方法是什么?

在批处理文件中声明和使用布尔变量的最佳方法是什么?这就是我现在正在做的事情:

set "condition=true"

:: Some code that may change the condition

if %condition% == true (
    :: Some work
)

有没有更好,更“正式”的方式来做到这一点? (例如,在Bash中你可以这样做,如果是$condition,因为true和false都是他们自己的命令.)

最佳答案
set "condition="

set "condition=y"

其中y可以是任何字符串或数字.

这允许如果已定义且未定义,则可以在块语句(带括号的语句序列)中使用这两者来查询标志的运行时状态,而无需enabledelayedexpansion

即.

set "condition="
if defined condition (echo true) else (echo false)

set "condition=y"
if defined condition (echo true) else (echo false)

第一个是错误的,第二个是真的

转载注明原文:windows – Batchfile:声明和使用布尔变量的最佳方法是什么? - 代码日志