about_Simplified_Syntax

Krátký popis

Popisuje jednodušší a přirozenější způsoby skriptování filtrů pro kolekce objektů.

Dlouhý popis

Zjednodušená syntaxe zavedená v Windows PowerShell 3.0 umožňuje vytvářet některé příkazy filtru bez použití bloků skriptů. Zjednodušená syntaxe se více podobá přirozenému jazyce a je primárně užitečná s kolekcemi objektů, které se dostanou do příkazů Where-Object a ForEach-Object jejich odpovídající aliasy where a foreach.

Metodu můžete použít u členů kolekce (nejčastěji pole) bez odkazování na automatickou proměnnou $_ uvnitř bloku skriptu.

Zvažte následující dvě vyvolání:

Standardní syntaxe

dir Cert:\LocalMachine\Root | where { $_.FriendlyName -eq 'Verisign' }
dir Cert:\ -Recurse | foreach { $_.GetKeyAlgorithm() }

Zjednodušená syntaxe

Ve zjednodušené syntaxi se operátory porovnání, které pracují na členech objektů v kolekci, považují za parametry. Metodu pro objekty v kolekci můžete vyvolat bez odkazování na automatickou proměnnou $_ uvnitř bloku skriptu. Porovnejte následující dvě vyvolání s těmi z předchozího příkladu:

dir Cert:\LocalMachine\Root | where FriendlyName -eq 'Verisign'
dir Cert:\ -Recurse | foreach GetKeyAlgorithm

I když obě syntaxe fungují, zjednodušená syntaxe vrací výsledky bez odkazování na automatickou proměnnou $_ uvnitř bloku skriptu. Název GetKeyAlgorithm metody se považuje za parametr .ForEach-Object Druhý příkaz vrátí stejné výsledky, ale bez chyb, protože zjednodušená syntaxe se nepokoušela vrátit výsledky pro položky, pro které zadaný argument nebyl použit.

V tomto příkladu Process se vlastnost Description předá jako parametr názvu člena ForEach-Object příkazu. Výsledky jsou popisy aktivních procesů.

Get-Process | foreach Description

V tomto příkladu DirectoryInfo se metoda GetFiles předá jako parametr názvu člena ForEach-Object příkazu. Metoda se volá pomocí parametru .*vzoru vyhledávání . Výsledky jsou FileInfo záznamy pro všechny skryté soubory ve stylu Unixu v domovských adresářích uživatelů.

Get-ChildItem /home -Directory | foreach GetFiles .*

Viz také