Como escrever uma lista classificada lexicograficamente em uma grade listada por coluna?

Eu tenho o resultado deGet-ChildItem, e quero iterar sobre eles e exibir seus nomes. Por padrão, se eu simplesmente usarWrite-Host então eu o listo ao longo da linha assim:

PerfLogs  Program Files  Program Files (x86)  Python31  Temp  Users  Windows

No entanto, diga que eu sei que eu quero dividi-lo em x colunas, quero a saída como esta:

PerfLogs                  Python31     Windows
Program Files             Temp
Program Files (x86)       Users

Como você pode ver, ele lista as colunas primeiro e depois do outro lado.

Alguma idéia de como obter uma saída assim? Idealmente, usaria o maior número de colunas possível na tela com o Nome alinhado à esquerda em cada coluna.

UPDATE: graças a Roman, agora posso ter o meu estilo linux 'ls' com cores de diretório. Criando seu script atualizado, tenho:

function color-ls
{
    dir $args | Format-High -Print {    
        $item = $args
        $fore = $host.UI.RawUI.ForegroundColor        
        $host.UI.RawUI.ForegroundColor = .{     
            if ($item[1].psIsContainer) {'Blue'}
            elseif ($item[1].Extension -match '\.(exe|bat|cmd|ps1|psm1|vbs|rb|reg|dll|o|lib)') {'Red'}
            elseif ($item[1].Extension -match '\.(zip|tar|gz|rar)') {'Yellow'}
            elseif ($item[1].Extension -match '\.(py|pl|cs|rb|h|cpp)') {'Cyan'}
            elseif ($item[1].Extension -match '\.(txt|cfg|conf|ini|csv|log|xml)') {'Green'}
            else {$fore}
        }
        write-host $args[0] -NoNewLine
        $host.UI.RawUI.ForegroundColor = $fore
    }
}

Resultado:

http://dl.dropbox.com/u/2809/lscolor.png

questionAnswers(1)

yourAnswerToTheQuestion