about_Simplified_Syntax

Deskripsi singkat

Menjelaskan cara skrip filter skrip yang lebih mudah dan lebih alami untuk kumpulan objek.

Deskripsi panjang

Sintaks yang disederhanakan, yang diperkenalkan dalam Windows PowerShell 3.0, memungkinkan Anda membangun beberapa perintah filter tanpa menggunakan blok skrip. Sintaks yang disederhanakan lebih menyerupai bahasa alami, dan terutama berguna dengan kumpulan objek yang disalurkan ke dalam perintah Where-Object dan ForEach-Object dan alias where yang sesuai dan foreach.

Anda dapat menggunakan metode pada anggota koleksi (paling umum, array) tanpa merujuk ke variabel $_ otomatis di dalam blok skrip.

Pertimbangkan dua pemanggilan berikut:

Sintaks Standar

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

Sintaks yang disederhanakan

Di bawah sintaks yang disederhanakan, operator perbandingan yang bekerja pada anggota objek dalam koleksi diperlakukan sebagai parameter. Anda dapat memanggil metode pada objek dalam koleksi tanpa merujuk ke variabel $_ otomatis di dalam blok skrip. Bandingkan dua pemanggilan berikut dengan yang dari contoh sebelumnya:

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

Saat kedua sintaks berfungsi, sintaks yang disederhanakan mengembalikan hasil tanpa merujuk ke variabel $_ otomatis di dalam blok skrip. Nama GetKeyAlgorithm metode diperlakukan sebagai parameter .ForEach-Object Perintah kedua mengembalikan hasil yang sama, tetapi tanpa kesalahan, karena sintaks yang disederhanakan tidak mencoba mengembalikan hasil untuk item yang argumen yang ditentukan tidak berlaku.

Dalam contoh ini, Process properti Description diteruskan sebagai parameter nama anggota ke ForEach-Object perintah . Hasilnya adalah deskripsi proses aktif.

Get-Process | foreach Description

Dalam contoh ini, DirectoryInfo metode GetFiles diteruskan sebagai parameter nama anggota perintah ForEach-Object . Metode ini dipanggil dengan parameter .*pola pencarian . Hasilnya adalah FileInfo rekaman untuk semua file tersembunyi bergaya Unix di direktori beranda pengguna.

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

Lihat juga