Get-ChildItem 활용법
Powershell에 cmdlet 중에서 Get-ChildItem은 여러 기능을 한다.
Get-ChildItem : 한국어로 하면 어느 한 경로(location)나 여러 경로에서(locations) 에서 아이템이나 자식 아이템을 가지고 온다고 정의 되어 있다.
Git-bash를 쓰면 mkdir이라고 있는데 경로 만드는 것인데 어떻게 보면 유사해 보일 수도 있다. dir이 경로 입력과 유사하다.
특정 파일 삭제 예시] A라는 폴더 안에 B폴더가 있고 B폴더 안에 b.xlsx 파일 하나 있고 A라는 폴더안에 a.xlsx 파일이 있고 기타 txt파일이 있다고 해 보자. 그리고 A폴더 안에 모든 엑셀 파일 지울려면, 아래 처럼 치면 된다. 참고로 -Recurse는 Recursion(재귀호출) 이라고 생각하면 된다.
> Get-ChildItem -Path (경로명 : C:\A\*.xlsx) -Recurse | Remove-Item -Confirm
=> Remove-Item -Confirm하기 전에 Remove-Item -whatif를 먼저 하고 컨펌 하기를 추천한다. confirm하면 바로 삭제 된다.
특정 파일 복사 예시] A라는 폴더 안에 a.xlsx를 다른 경로에 있는 C라는 폴더에 복사 이동을 하고 싶다? 하면 아래 처럼 치면 된다.
> (Get-ChildItem -Path (경로명 : C:\A\a.xlsx) ).CopyTo('복사될 경로명')
=> 괄호 안에 Get-ChildItem cmdlet과 -Path 파라미터와 인수(arg.)를 기재하고 그리고 메서드 CopyTo메서드를 사용해서 복사한다. CopyTo 괄호 안에 string 값을 써야 하기 때문에 따옴표 붙인다.
**Get-ChildItem -Path 경로명 에서 어떤 메서드나 프로퍼티를 보고 싶으면 Get-Member나 alias인 gm을 쓰면 된다.
.> Get-ChildItem -Path 경로명 | Get-Member
=> 중간에 "|" 는 파이프라인이며 전에 이는 결과를 뒤에다 이어 준다.