by KaiY at 2013-02-18 01:23:12
Hi,by mjolinor at 2013-02-18 04:51:17
I have a larger array of e.g 1000 elements, which I like to display on screen not only in one but in several columns. Just because of clarity.$a=@(1..1000)
$a | format-table
1
2
.
1000
I’m searching for code to get results like
1 2 3
4 5 6
. . .
thanks
Kai
by John.A.Mello at 2013-02-18 05:35:45$w = 3
$a=@(1…1000)
for ($i=0; $i -lt $a.count; $i += $w)
{ $a[$i…($i+$w-1)] -join "`t"}
1 2 3
4 5 6
7 8 9
10 11 12
(This aligns correctly on my console, but not on the web page)
You can also use Format-wide, for exampleby KaiY at 2013-02-18 08:30:16$array = 1…1000
$array | Format-Wide {$} -AutoSize -Force
$array | Format-Wide {$} -Column 4 -Force
The big thing to remember is to include the piped in object in a script block and to use the -Force parameter. Not exactly sure why you need to do this but from what I can tell this is because $array is a simple variable and missing some of the view and or property information that Format-Wide expects. For example the following lists the contents of the variable in one column:$array | Format-Wide -Column 4
Thank you for these solutions! Both are for me quite tricky, but very useful