Parenthesis gelesen werden zu einer Gruppe verwendet und die Ordnung, so wie sie in der Mathematik zu tun. Ab Powershell v3 Sie können sie auch eine Eigenschaft einer Gruppe zu bewerten, verwenden, wie die Dateinamen bekommen für die Dateien im aktuellen Ordner, indem Sie:
(Get-ChildItem).Name
Ein Unterausdruck $()
das Skript innerhalb wertet und stellt dann die Ausgabe des Befehls dar, der im Befehl verwendet werden soll. Oft innerhalb von Strings verwendet, um eine Eigenschaft eines Objekts zu erweitern, wie:
"Hello $($User.Name), would you like to play a game?"
Es kann auch nützlich sein, wenn mit ComObjects, wie Excel zu arbeiten, wo es eine enorme Auswahl haben, die Sie gegen eine Eigenschaft testen möchten von jeder Gegenstand. Während dies nicht funktioniert, weil die Range
Objekt keine Font
Eigenschaft hat:
$Range.Font|Where{$_.Bold}
Dies würde funktionieren, weil es ausgeben würde die Range
als eine Sammlung von Cell
Objekte, von denen jede eine Font
Eigenschaft:
Sie können sich Unterausdrücke als ein Skript innerhalb Ihres Skripts vorstellen, da sie mehrere Befehle lang sein können und die gesamte Sache sofort ausgewertet wird, so dass die Endausgabe für den übergeordneten Befehl verwendet werden kann.
Sie könnten versuchen, die [PowerShell Language Specification 3.0] (https://www.microsoft.com/en-us/download/details.aspx?id=36389), Abschnitt 7.1.1 Gruppierung von Klammern und Abschnitt 7.1.6 $() operator - Unterausdrücke – TessellatingHeckler
Das ist das Ticket. Danke ... mach das eine Antwort und ich gebe ihr den grünen Scheck. –