programing

PowerShell을 사용하여 패턴과 일치하는 첫 번째 파일 찾기

powerit 2023. 8. 6. 10:27
반응형

PowerShell을 사용하여 패턴과 일치하는 첫 번째 파일 찾기

디렉토리에 있는 ".xls" 파일 중 하나를 선택하고 싶습니다.문제는 dir 명령이 다른 유형을 반환할 수 있다는 것입니다.

gci *.xls

돌아올 것입니다

  • 파일이 둘 이상인 경우 object[]
  • 파일이 하나만 있는 경우 FileInfo
  • 파일이 없는 경우 null

null은 처리할 수 있지만, "첫 번째" 파일만 어떻게 선택할 수 있습니까?

명령문을 다음으로 감아서 하나의 항목만 있는 경우에도 PowerShell이 강제로 배열을 반환하도록 할 수 있습니다.@(...):

@(gci *.xls)[0]

다음 세 가지 경우에 각각 적용됩니다.

  • 파일 컬렉션의 첫 번째 개체를 반환합니다.
  • 개체가 하나뿐인 경우 하나만 반환합니다.
  • 그것은 돌아옵니다.$null애초에 어떤 목적도 없었습니다.

또한 다음과 같은 기능도 있습니다.-First에 대한 매개 변수.Select-Object:

Get-ChildItem -Filter *.xls | Select-Object -First 1
gci -fi *.xls | select -f 1

파일 목록을 완전히 열거할 필요가 없다는 점을 제외하고는 위와 거의 동일하게 작동합니다.Get-ChildItem파이프라인이 첫 번째 항목 이후에 중단되기 때문입니다.이렇게 하면 필터와 일치하는 파일이 많을 때 차이가 날 수 있습니다.

언급URL : https://stackoverflow.com/questions/1500097/find-the-first-file-that-matches-a-pattern-using-powershell

반응형