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:
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
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
Please also mark the comments that contributed to the solution of the article
Content-Key: 282489
Url: https://administrator.de/contentid/282489
Printed on: April 24, 2024 at 08:04 o'clock
1 Comment
Parameter -Passthru bei Compare-Object nutzen... und mit $a.length in der If-Bedingung prüfen ...
Gruß jodel32
Gruß jodel32