Ok, I have been dabbling more into the world of PowerShell, and wanted to note a couple of things I have come across.
% (Percentage) Alias
I have seen % used before bracketed statements.
% ($banana), basically the percentage is short hand for ForEach-Object ()
Get-Content ServerList.txt | ForEach-Object{,($_.split(','))
or
Get-Content ServerList.txt | %{,($_.split(','))
The line above gets the contents of the file serverlist.tzt and pipes it. Then ForEach-Object loops through each object passed (in this case it will be each line read from the file.
Comma Operator
In doing the above command splitting the array and piping it, I had issues displaying the array elements. I came across this post which helps explain what's going.
http://winpowershell.blogspot.com/2006/08/passing-arrays-through-pipeline.html
But the author used ,() to get round the issue and I wondered what this was doing.
,($_.Split(" "))
In the end I think all the ,() is doing is putting the object into a single element array which stops PowerShell flattening out the array. I base my understanding on this page from MS.
http://technet.microsoft.com/en-us/library/dd347588.aspx
No comments:
Post a Comment