2012-02-09 2 views
0

A가 B와 같고 B가 비어있는 경우 무언가를 실행하려고합니다. 나는이 검사를하기 전에 수동으로 할 수 있습니다. - NE,하지만 오히려 같은 수표에서 이것을하십시오.변수가 비어 있는지 확인하십시오 (여러 개의 체크!)

if($($ADEmployee.mobile) -ne $($ListEmployee.mobile) -and (!$($ListEmployee.mobile))) 
{ 
    do someething 
} 

이 작업을 수행 할 수 있습니까?

+0

$ ADEmployee.mobile에 항상 값이 있으면 $ ListEmployee.mobile에서 $ null을 확인하는 것이 의미가 없습니다. – EBGreen

+0

나는 물론 테스트를했다. 나는 이미 내가 한 것을 보여주고 싶었다. – Sune

답변

1
if (($ademployee.mobile,$null -like $listemployee.mobile)[0]){ 
     do something 
     } 

하지 않는 것이.

+0

흥미 롭습니다! $ null은 어떻게 작동합니까? – Sune

+0

왜 코드에서 그렇게하지 않습니까? 나쁜 코딩? 어떻게해야합니까? 내 상황은 내 목록의 필드가 비어있을 때를 제외하고 AD의 "모바일"속성을 바꿀 "모바일"필드가있는 CSV 파일이 있다는 것입니다. – Sune

+0

목록 측면이 광고면과 일치하면 그걸 돌려 줄거야. "그"가 $ null이 아닌 경우 $ true로 평가됩니다. 목록 측면이 null이면 $ null을 반환하고 $ false로 평가합니다. 광고면과 목록면이 모두 $ null이면 null 쌍을 반환하므로 [0]은 배열을 평가하지 못하도록합니다. 최종 결과는 AD 측이 List 측을 짝짓기하고 $ 일치하지 않는 것이 $ null이 아닌 경우에만 $ true로 평가됩니다. – mjolinor

1

예, "비어 있음"을 먼저 확인한 다음 다른 개체에서 "비어 있지 않은지"를 확인합니다. 표현식은 필요하지 않습니다 :

if (!$ListEmployee.mobile -and $ADEmployee.mobile) 
{ 
    do someething 
} 

업데이트 : $ (...)는 표현식입니다. 당시 다음과 같은 시도 : 나는 실제로 코드에서 그렇게 어느 것

if ($ListEmployee.mobile -and $ListEmployee.mobile -ne $ADEmployee.mobile) 
{ 
    $ADEmployee.mobile = $ListEmployee.mobile 
} 
+0

고마워! 그게 효과가 있었어! 하위 표현식은 무엇을 의미합니까? – Sune

+0

나는 너무 빨랐다. 그것은 불행하게도 작동하지 않았다. $ listemployee.mobile이 비어 있으면 제외하고 $ ADemployee.mobile의 정보를 $ listemployee.mobile로 대체하고 싶습니다. – Sune

관련 문제