Powershell: Warum (gci c: \ ddd) .count auf einem leeren Ordner nicht 0 zurück
-
09-10-2019 - |
Frage
Warum (gci c:\ddd).count
auf einem leeren Ordner nicht zurückgeben 0, aber „nichts“
bekomme ich nur einen Fehler „Sie können nicht eine Methode auf einem Null-wertigen Ausdruck nennen.“ Wenn mein Count-Zustand nicht übereinstimmt.
Was brauche ich, um „get“ die Null, um die Ausnahme zu verhindern?
Lösung
Mit dem Operator @()
, um sicherzustellen, dass das Ergebnis ein Array ist, einschließlich leer oder enthält ein einzelnes Element:
@(gci c:\ddd).count
Befehle zurückgeben kann: 1) eine Sammlung; 2) ein einzelnes Objekt; 3) null. Ihr Fall ist 3. Aufruf .Count
auf null (Fall 3) oder auf einem Objekt, das nicht eine Eigenschaft Count
hat (Fall 2) bekommt nichts oder fehlschlagen kann, beispielsweise mit striktem Modus Set-StrictMode -Version 2
aktiviert.
@(...)
ist immer ein Array und Count
funktioniert.