본문 바로가기

Get-ChildItem4

Powershell 빈폴더 삭제 script Windows 에서 폴더 및 파일 관리시 비어 있는 폴더를 삭제 하고 싶은 경우가 있습니다. 그래서 저는 간단하게 빈폴더를 삭제하는 Powershell script 를 만들어서 사용하곤 합니다. 아래 소개한 powershell profile 에 작성해서 사용하면 조금더 편리하게 사용 할 수 있습니다. http://iamaman.tistory.com/1017 스크립트는 아래와 같습니다. 그냥 하위 폴더는 그냥 두고 현재 폴더만 확인하고 싶은 경우와 빈 폴더만 확인하고 싶은 경우를 위해 recurse 와 Delete 를 옵션으로 줬습니다. function emptyFolderFind { param ( $folder, [Switch]$Recurse, [Switch]$Delete ) if($Recurse) { .. 2016. 10. 17.
Powershell, Depth 에 따른 아이템 검색 Powershell 의 Get-ChildItem 을 사용하여 파일 또는 폴더의 리스트를 얻을 때 해당 폴더 하위의 끝까지 검색을 하고자 할때는 –recurse 라는 옵션을 사용합니다. 그런데 특정 depth 까지만 검색을 하고자 하는 경우 \* 와 같은 키워드를 사용하기도 하지만 Get-ChildItemToDepth 라는 함수가 아래 주소에 있어서 소개하고자 합니다. http://www.indented.co.uk/2010/01/22/limit-recursion-depth-with-get-childitem/ 코드는 다음과 같습니다. 특정 폴더 이하의 D:\ 의 2 depth 까지 검색하는 방법은 다음과 같습니다. get-childitemtodepth -Path "D:\*" -ToDepth 2 2015. 8. 5.
Powershell 을 이용한 소스코드 라인 수 세기 리눅스 등에서는 wc –ㅣ 명령을 통해 라인수를 세지만 Powershell 에서는 아래 명령으로 동일한 명령이 가능하다. 아래 명령은 현재 폴더 하위의 C 소스코드 및 헤더 파일의 라인수를 세는 스크립트이다. Get-ChildItem .\* -Include *.c, *.h -Recurse | Get-Content | Measure-Object –Line Measure-Object –Line 명령은 자동으로 공백을 제외하고 라인수를 세서 결과를 내 준다. 다음과 같이 profile.ps1 파일에 함수의 형태로 구성해서 사용하는게 편할 것이다. function sourceLineCH { Get-ChildItem .\* -Include *.c, *.h -Recurse | Get-Content | Measure.. 2015. 5. 19.
Powershell 용량 작은 파일 지우기 컴퓨터를 사용하다 보면 특정 용량 이상 또는 특정 용량 이하의 파일들을 걸러 내고 싶은 경우가 있다. 이런 경우엔 단순히 윈도우 탐색기에서 크기에 따라 정렬을 한 이후에 드래그 하여 지우는 방법 등을 쓸 수가 있다. 하지만 같은 폴더내에 특정 확장자의 파일만 지우고 싶은 경우에는 윈도우 탐색기만으로는 부족하다. 이런 경우 powershell 을 이용하면 너무나 간단히 작업을 완료 할 수가 있다. 나의 경우엔 D:\movie_folder 안에 있는 avi 파일 중에서 용량이 100 MB 이하인 파일들을 지우고 싶었다. 위 작업을 수행하는 powershell 코드는 아래와 같다. gci d:\movie_folder\* -Include *.avi | Where-Object -FilterScript { $_.l.. 2011. 3. 6.