derhoeppi
Goto Top

Powershell If Statement mit mehreren Bedingungen

Hallo,
ich möchte ein If Statement nutzen um zu prüfen, ob mehrere Arrays leer sind. Das scheinbare Problem ist jedoch das ein Array nach der Initialisierung und der Wertezuweisung kein Array mehr ist. Die Ausgabe von GetType lautet: "You cannot call a method on a null-valued expression."

Folgender Code wurde erstellt:
$a = @()
$b = @()
$c = @()
$d = @()
$c = Compare-Object $RefArray $DiffArray | ?{$_.SideIndicator -eq '=>'}   
$d = Compare-Object $RefArray $DiffArray | ?{$_.SideIndicator -eq '<='}   
$a = $c.InputObject
$b = $d.InputObject
if (!$a -or !$b) {
write-host "Ein Array ist leer"  
}
else {
write-host "Tue etwas anderes"  
}

Das Problem ist, dass $a oder $b unter Umständen leer ist. Im konkreten Fall besitzt $a einige Werte, aber $d welches dann $b befüllen soll keinen einzigen. Deshalb kommt es zu der Meldung. Wie kann ich das Lösen?

Gruß
derhoeppi

Content-Key: 282489

Url: https://administrator.de/contentid/282489

Printed on: April 24, 2024 at 08:04 o'clock

Mitglied: 114757
Solution 114757 Sep 10, 2015 updated at 11:31:26 (UTC)
Goto Top
Parameter -Passthru bei Compare-Object nutzen... und mit $a.length in der If-Bedingung prüfen ...

Gruß jodel32