Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Question
Monday, February 15, 2010 1:42 PM | 4 votes
I know that typically the "%" character is for mod functionality. In some powershell scripts I've come across, I've noticed % being used after the | character and I can't seem to find what the syntax means.
For example. "$old | % { Remove-Item $_.SPBackupDirectory -Recurse }" I can't figure out what | % is doing..... is it a shorthand foreach expression?
Tony Testa www.tonytestasworld.com
All replies (3)
Monday, February 15, 2010 1:46 PM ✅Answered | 10 votes
Yes, it is a shortcut notation or alias for ForEach-Object:
PS > get-alias -definition foreach-object
CommandType Name Definition
Alias % ForEach-Object
Alias foreach ForEach-Object
The above only works with PowerShell v2. V1 doesn't support the -Definition parameter.
Tuesday, February 16, 2010 4:22 PM | 2 votes
Also this is math operator: division with a reminder. When percent sign is placed after pipeline sign "|" — it always threated as Foreach-Object alias. In all other cases it is threated as math operator.http://www.sysadmins.lv
Friday, February 28, 2014 6:17 PM
Not quite. For example:
% -process {$_.name} -inputobject (gci profile.ps1)