Powershell 길이가 Get-ChildItem의 출력에 표시되지 않습니다.

Dec 20 2020

Windows 10 PowerShell에서이 명령을 시도하고 있습니다.

Get-ChildItem -Recurse | select FullName,Length,LastAccessTime

결과에는 FullName, 만 포함 되고, LastAccessTimeLength출력에서 누락되었습니다.

PowerShell 스크린 샷

내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

1 AshokPrasath Dec 20 2020 at 23:34

이것은 작동합니다 :

Get-ChildItem -Recurse | select FullName,Length,LastAccessTime | Export-Csv list.csv

3 mklement0 Dec 21 2020 at 01:07

문제는 표시 문제 일뿐입니다 .

  • 출력 객체 간의 경로가 길기 때문에 FullName는 IS 속성 선택은 나머지 속성 (열)없는 인쇄 가 스크린에 맞지 않을 수 있기 때문에. 그러나 속성 존재하며 프로그래밍 방식으로 사용할 수 있습니다.

  • 참고 : 나중에 프로그래밍 방식 처리 를 위해 파일저장하려는 경우> /를 사용해서는 안됩니다. 이 형식은 콘솔 (터미널)에 표시Out-File 되는 것과 동일한 for-display 형식이됩니다. 인간 관찰자 .

    • 들어 프로그래밍 처리 , 용도 구조화 된 데이터 포맷을 예로서 CSV 같이 쇼크 Prasath로의 답변

해결 방법 :

  • 빠르고 더러운 해결 방법은 Doug Maurer가 조언 한대로 속성을 마지막두는FullName 것입니다. 이렇게 하면 속성 값이 잘리지 만 (기호로 표시됨), 특히 경로 의 시작 부분 부터 모든 속성 (열)이 표시 됩니다 .FullName

    # FullName is placed *last*
    # Caveat: Paths will be truncated at the *end*.
    Get-ChildItem -Recurse | select Length, LastAccessTime, FullName
    
  • 목록 기반 형식으로 전환 해도 괜찮다면 각 속성 값이 속성 이름이 접두사로 붙은 자체 줄에 표시되는 경우 다음으로 파이프합니다 Format-List. 너무 긴 값은 줄 바꿈됩니다 .

    Get-ChildItem -Recurse | select FullName,Length,LastAccessTime | Format-List
    
  • 당신이 원하는 경우 출력과 상관없는 줄 바꿈을 하여 출력에 , 당신은에 파이프 할 수 있습니다 Out-StringA의 -Width값이 큰만큼 (즉 메모를 모든 열을 맞게 Out-File도 지원을 -Width) :

    Get-ChildItem -Recurse | select FullName,Length,LastAccessTime |
      Out-String -Width 300
    
    • 줄 바꿈보다 가로 스크롤선호하는 경우 위의 내용을 파일에 저장하고 텍스트 편집기에서 열거 나 Visual Studio Code 와 같은 텍스트 편집기를 사용 하여 출력을 직접 파이프 할 수 있습니다 .

      # Opens the output directly in a new Visual Studio Code editor tab.
      Get-ChildItem -Recurse | select FullName,Length,LastAccessTime |
        Out-String -Width 300 | code -
      
  • 그렇지 않으면 - 당신이보고 싶은 경우 표시를 콘솔에 에, 지정된 정확한 열 순서행 즉시없이 - 당신의 유일한 옵션입니다 잘라FullName 값을 모든 열이 들어갈 수 있도록; 간결함 을 위해 다음을 직접 사용하기 위해 select( Select-Object) 호출을 생략했습니다 Format-Table.

    Get-ChildItem -Recurse |
      Format-Table @{ e='FullName'; w=[Console]::WindowWidth-45; a='right'},
                   Length, LastAccessTime
    
    • 열 너비 ( wentry, short for width)가 ( [Console]::WindowWidth) 빼기 45문자가 있는 콘솔 창을 기반으로 FullName하여 다른 두 열을위한 공간을 남겨두고 가능한 한 많은 값 을 표시 하는 방법에 유의하십시오 . 또한 잘림 (로 기호화가 경로 시작 부분적용됨 -파일 / 디렉토리 이름 이 항상 표시 되도록 함)을 보장하기 위해 열이 오른쪽 정렬됩니다 ( 항목을 통해 , 끝 부분 잘림을 선호하는 경우). 경로의 경우 항목을 생략 하십시오 (기본값은 ).aalignmentaleft

    • 왼쪽 정렬을 유지하면서 처음 부터 자르는 방법을 포함하여에 대한 @{ ... }소위 계산 된 속성 을 지정하는 이 해시 테이블 기반 ( ) 방법 에 대한 자세한 내용 은 이 답변을 참조하십시오 .Format-Table