PowerShell: Env: evita o truncamento de variáveis de ambiente

9

O PowerShell exibe variáveis de ambiente, uma linha para cada. Se uma variável tiver um valor longo o suficiente, ela será truncada e acrescentada uma reticência:

> gci env:

Name                           Value
----                           -----
<suppressed lines>
PSModulePath                   C:\Windows\system32\WindowsPowerSh...
<suppressed lines>

Existe alguma maneira de obter valores completos para todas as variáveis de uma só vez, como em um prompt cmd padrão? (as respostas dadas para Powershell get- childitem env: path retorna elipsada uma linha, como ter algo útil? não se aplica, então).

    
por sancho.s 18.12.2013 / 18:41

2 respostas

11

A formatação padrão é truncada, especifique -Wrap e veja a saída completa.

gci env: | Format-Table -Wrap -AutoSize

Resultado

PSModulePath            C:\Users\KNUCKLE-DRAGGER\Documents\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules\

ou se você preferir que a saída simule exatamente o cmd.exe, tente

cmd /c start /b set

Resultado

PSModulePath=C:\Users\KNUCKLE-DRAGGER\Documents\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
    
por 18.12.2013 / 18:50
4

Se você deseja emular a saída set do powershell sem invocar cmd try:

dir env: | %{"{0}={1}" -f $_.Name,$_.Value}

muita digitação, então envolva-a em uma função:

function set {dir env: | %{"{0}={1}" -f $_.Name,$_.Value}}
    
por 19.12.2013 / 22:24