2017-04-10 7 views
3

2つの電子メールフィールドを持つPowerShellスクリプトへのcsv入力があります。 1つは常に値を含み、もう1つは時々あり、後者の値が存在するときは、後でスクリプト内でmailcontactフィールドを設定するための値を設定するために使用したい値です(変数$WriteEmail)。ELSE re:values from csv

だから私はCSVを読み取るために、以下の持っている:

# Read contacts 
ForEach ($contact in $contactfile) { 

# Read attributes 
$sourceEmail=$contact.Email 
$sourceOutlookEmail=$contact.OutlookEmail 

をそして、私はそれが基本的に実行する必要があります。

IF $sourceOutlookEmail IsNullOrWhitespace 
THEN $WriteEmail=$sourceEmail 
ELSE $WriteEmail=$sourceOutlookEmail 

私はちょうど私は、構文が正しく取得できませんすべての種類のものを試しました。私はそれが比較的単純であることを知っています、私はそれを動作させることができません。

あなたは、静的.NET IsNullOrWhiteSpaceメソッドを使用することができます

答えて

4

:ああ、OK、当たり前、私はいくつかの類似した例ではその方法を見ますが、[文字列]は値のプレースホルダた考え続けのだ

if ([string]::IsNullOrWhiteSpace($sourceOutlookEmail)) 
{ 
    $WriteEmail=$sourceEmail 
} 
else 
{ 
    $WriteEmail=$sourceOutlookEmail 
} 
+0

を私はそこに入力する必要があった、それは実際に "[文字列]"をSAYにしていたわけではない お試しになります、ありがとう! – km457

+0

更新:完璧に動作します、ありがとうございます。 – km457

+1

[関連するMSDNの記事](https://msdn.microsoft.com/en-us/powershell/scripting/getting-started/cookbooks/using-static-classes-and-methods):-) – sodawillow