Tampaknya% operasi memulai blok skrip setelah pipa, meskipun about_Script_Blocks menunjukkan% tidak diperlukan.
Ini semua bekerja dengan baik.
get-childitem | % { write-host $_.Name }
{ write-host 'hello' }
% { write-host 'hello' }
Tetapi ketika kita menambahkan blok skrip setelah pipeline, kita harus memiliki% terlebih dahulu.
get-childitem | { write-host $_.Name }
powershell
syntax
Shaun Luttin
sumber
sumber
Jawaban:
Saat digunakan dalam konteks cmdlet (seperti contoh Anda), ini adalah alias untuk
ForEach-Object
:Saat digunakan dalam konteks persamaan, itu adalah operator modulus :
dan sebagai operator modulus,
%
juga dapat digunakan dalam sebuah operator penugasan (%=
):sumber
Sebuah posting PowerShell - Karakter Khusus Dan Token memberikan deskripsi beberapa simbol termasuk
%
sumber
ForEach-Object
.ForEach
juga merupakan alias untukForEach-Object
- kecuali jika digunakan di awal pernyataan, yang merupakan kata kunci kontrol loop (sepertiwhile
).%
dapat menggantikan yang tidak akan berfungsi tanpa atau .Get-ChildItem |
ForEach-Object
{ write-host $_.Name }
%
ForEach-Object
sumber