PowerShell : 환경 : 환경 변수 잘림 방지


17

PowerShell은 환경 변수를 한 줄에 하나씩 표시합니다. 변수의 값이 충분히 길면 잘리고 생략 부호가 추가됩니다.

> gci env:

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

표준 cmd 프롬프트에서와 같이 모든 var에 대해 전체 값을 한 번에 얻을 수있는 방법이 있습니까? (주어진 답변 PowerShell을 얻을-ChildItem을 ENV : 경로를 반환 유용 뭔가를하는 방법, 하나 개의 라인을 ellipsed 다음, 적용되지 않는다).


PowerShell에서 경로 환경 변수의 전체 내용을 표시하는 방법을 찾기 위해 한 시간을 보냈습니다. 더 넓은 형식을 지정하더라도 줄임표가 있거나없는 2452 자로 항상 잘립니다. 이것은 PS를 사소한 유용한 것 이외의 것으로 취급하는 것을 불가능하게합니다. PS에 대한 나의 의견은 그것이 POS이며 아무것도 변경하지 않았다는 것입니다. 수백 개의 블로그와 검색 결과를 읽었으며 아무도 해결책을 찾지 못했습니다. 여기조차도.
Suncat2000

답변:


23

기본 형식이 잘리고 -Wrap을 지정하고 전체 출력을보십시오.

gci env: | Format-Table -Wrap -AutoSize

결과

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

또는 cmd.exe를 정확하게 시뮬레이션하기 위해 출력을 선호하는 경우

cmd /c start /b set

결과

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

이것은 이미 매우 좋습니다. 표준 cmd 프롬프트와 동일한 형식을 얻는 방법이 있습니까? 아마도 PowerShell 프롬프트에서 cmd.exe를 호출합니까?
sancho.s Reinstate Monica

좋아요, 제가 제안한 것입니다.
sancho.s Reinstate Monica

4

set호출하지 않고 powershell의 출력 을 에뮬레이션하려면 다음을 cmd시도하십시오.

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

타이핑이 많으므로 함수로 감싸십시오.

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

두 옵션 모두 정상적으로 작동합니다.
sancho.s Reinstate Monica
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.