【发布时间】:2020-10-24 00:51:12
【问题描述】:
我做了这样的 if 语句
$fin = $list.UF6E8_CANAL -match "ML"
if ($list.UF6E8_CANAL -match "ML"){1}
else {0}
按原样工作,但只要我这样称呼它
write-output "<Index Nom=`"ALERTE_MAIL`" Valeur=`"$fin`"/>"
它变成真或假
有什么想法可以让我得到正确的结果,应该是 1 还是 0?
还有一件事,我的 if 位于循环的开头,他用 1 或 0 回答我
$boucle = foreach ($list in $liste)
{
$fin = $list.UF6E8_CANAL -match "ML"
if ($list.UF6E8_CANAL -match "ML"){1}
else {0}
write-output " <Index Nom=`"ALERTE_MAIL`" Valeur=`"$fin`"/>"
}
所以当我在循环中引入它时,它会用正确的答案(0 或 1)回答我
但是当我调用变量 $fin 时,它变为真或假(我希望它为 1 或 0)
我也想隐藏第一次调用的结果
有什么想法吗?
【问题讨论】:
-
您没有将
if的输出分配给任何东西......如果您希望$fin成为0/1而不是您需要分配的False/True,它只会进入屏幕它就这样。 PoSh 将强制$False到0和$True到1,因此您可以使用[int]$Fin将该布尔值转换为 int。
标签: powershell loops if-statement boolean