【发布时间】:2016-06-03 08:40:50
【问题描述】:
在批处理文件中声明和使用布尔变量的最佳方法是什么?这就是我现在正在做的事情:
set "condition=true"
:: Some code that may change the condition
if %condition% == true (
:: Some work
)
有没有更好、更“正式”的方式来做到这一点? (例如,在 Bash 中,您可以执行 if $condition,因为 true 和 false 是它们自己的命令。)
【问题讨论】:
-
差不多就是这样。批处理中的变量要么是字符串,要么是 32 位整数,仅此而已。
-
您可以使用
if defined var,这样可以在if、for和其他括号代码块中工作而无需延迟扩展。还有基于零或非零错误级别的条件执行。 -
不应该是 "%condition%"=="true" 吗?
-
@svasa - 如果
%condition%可以保证有值,则不需要它们;如果为空,引号只是为了避免语法错误。 -
@SomethingDark:所有变量都是字符串;批处理文件中没有数字变量。
set /A命令执行的算术运算只是管理 32 位整数,但这并不完全相同...
标签: windows batch-file cmd windows-10 command-prompt