обмен PowerShell: если тогда синтаксис оператора? - PullRequest
0 голосов
/ 11 февраля 2009

В моем сценарии я пытаюсь проверить на истинность и ложь. Этот синтаксис неверен?

$pdaout = ""
if ($pda.ActiveSyncEnabled.tostring() -like "True") {$pdaout = "TRUE"}
if ($pda.ActiveSyncEnabled.tostring() -like "False") {$pdaout = "-"}

write-host $pdaout

Ответы [ 2 ]

3 голосов
/ 11 февраля 2009

Похоже, что было бы лучше просто проверить логическое значение напрямую, а не использовать ToString ():

$pdaout = ""

if ($pda.ActiveSyncEnabled -eq $True) { $pdaout = "TRUE" }
else { $pdaout = "-" }

write-host $pdaout

Вот сообщение в блоге от команды Windows Powershell: логические значения и операторы

0 голосов
/ 11 февраля 2009

Должно быть, кроме функции tostring() (используйте toString(), чтобы убедиться в отсутствии проблем с чувствительностью к регистру)

Кроме того, вы можете использовать elseif, чтобы избежать проведения второго теста, если первый был успешным:

if ($pda.ActiveSyncEnabled.toString() -like "True") {$pdaout = "TRUE"}
elseif ($pda.ActiveSyncEnabled.toString() -like "False") {$pdaout = "-"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...