0

私のスクリプトでは、真と偽をテストしようとしています。この構文は間違っていますか?

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

write-host $pdaout
4

2 に答える 2

3

ToString() を使用する代わりに、ブール値を直接確認する方が良いようです。

$pdaout = ""

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

write-host $pdaout

これは、 Windows Powershell チームからのブログ投稿です。ブール値と演算子

于 2009-02-11T08:16:39.980 に答える
0

機能のためである場合を除いて、そうである必要があります(大文字と小文字の区別に問題がないことを確認するためにtostring()使用します)toString()

elseifさらに、最初のテストが成功した場合に 2 番目のテストを実行しないようにするために、次のように使用することもできます。

if ($pda.ActiveSyncEnabled.toString() -like "True") {$pdaout = "TRUE"}
elseif ($pda.ActiveSyncEnabled.toString() -like "False") {$pdaout = "-"}
于 2009-02-11T08:14:01.500 に答える