Get-Childitem의 매개변수인 Filter와 Include의 차이점


  • 파일 내용을 보기 위해서 사용하는 cmdlet가 Get-Childitem이다.
  • 그냥 Get-Childitem으로도 사용할 수 있지만 매개변수(Parameter)를 사용하면 더욱 빛을 발하게 된다. 다음 내용을 한 번 보자.
    • Get-Childitem -Path $home
    • Get-Childitem -Path $home, C:\imsi
      (-Path에 2개 이상의 값을 사용하는 예제)
    • Get-Childitem -Path $home -Recurse
      (하위 폴더까지 검색하는 것이 -Recurse이다)
    • Get-Childitem -Path $home -Recurse -Force
      (숨겨진 파일까지 확인하는 것이 -Force이다)
    • Get-Childtem -Path \\fileserver\sharedfolder -Recurse -Force
      (파일 검색을 로컬 컴퓨터뿐만 아니라 원격이 File Server도 가능하다)
    • Get-Childitem -Path $home -Recurse -Force -Filter *.txt
      (원하는 내용만 검색하되 빨리 검색하는 좋은 옵션이다. 꼭 사용하기를 권한다.)
    • Get-Childitem -Path $home -Recurse -Force -Filter *.txt -Exclude re*.txt
      (특정한 것을 제외하는 것이 -Exclude이다)
  • 그런데 만약에 -Path 매개변수처럼 여러 개의 값(value)을 사용해 보고자 한다.
    • Get-Childitem -Path $home, C:\imsi -Recurse -Filter *.txt, *.doc
      (이렇게 하면 실패한다. 즉, -Filter는 검색 속도는 빠르지만 여러 개의 값을 사용할 수 없다)
  • 원하는 것만 검색을 하되 여러 가지 값을 사용할 수 있는 것이 -Include 매개 변수이다. 이것은 -Filter보다 검색 속도는 느리지만 이런 장점이 있으니 상황에 따라 -Filter를 사용할지 -Include를 사용할지 결정해야 한다.
    • Get-Childitem -Path $home -Recurse -Include *.txt, *.doc        
  • Get-Childitem의 Alias는 Dir이다. 그래서 Dir를 사용할 때는 기본적으로 사용을 권하는 매개변수는 -Recurse, -Force, -Filter이다.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s