본문 바로가기
programming language/powershell

Powershell 빈폴더 삭제 script

by 남성 2016. 10. 17.

Windows 에서 폴더 및 파일 관리시 비어 있는 폴더를 삭제 하고 싶은 경우가 있습니다.

 

그래서 저는 간단하게 빈폴더를 삭제하는 Powershell script 를 만들어서 사용하곤 합니다.

 

아래 소개한 powershell profile 에 작성해서 사용하면 조금더 편리하게 사용 할 수 있습니다.

 

http://iamaman.tistory.com/1017

 

스크립트는 아래와 같습니다. 그냥 하위 폴더는 그냥 두고 현재 폴더만 확인하고 싶은 경우와 빈 폴더만 확인하고 싶은 경우를 위해 recurse 와 Delete 를 옵션으로 줬습니다.

 

function emptyFolderFind

{

    param

    (

        $folder,

        [Switch]$Recurse,

        [Switch]$Delete

    )

 

    if($Recurse)

    {

        $a = Get-ChildItem $folder -Recurse | Where-Object {$_.PSIsContainer -eq $True}    

    }

    else

    {

        $a = Get-ChildItem $folder | Where-Object {$_.PSIsContainer -eq $True}

    }

    

    $b = $a | Where-Object {($_.GetFiles().Count -eq 0) -and ($_.GetDirectories().Count -eq 0)}

    $b | Select-Object FullName    

      

        

    if ($Delete -and $b)

    {

        $b | Remove-Item -Force

        Write-Host "Empty folder Deleted!!"

    }    

}

 

E:\workspace 하위의 폴더 중 빈폴더를 삭제 하기 위해서는 아래와 같은 명령어를 사용합니다. 

emptyFolderFind "E:\workspace" -Delete

 

하위 폴더도 검색하기 위해서는 Recurse 옵션을 주고 아래와 같이 Recurse 하게 검색 및 삭제 할 수 있습니다. 

emptyFolderFind "E:\workspace" -Delete -Recurse


댓글0