목차

PowerShell을 사용하여 빈 폴더를 제거하는 방법



대규모 파일 이동이나 정리 후에 생기는 수많은 빈 폴더들을 일일이 정리하는 건 정말 귀찮은 일이죠.특히 중첩된 디렉터리가 수없이 많을 때는 더더욱 그렇습니다.하지만 PowerShell을 사용하면 이런 작업을 훨씬 쉽게 처리할 수 있습니다.간단한 스크립트를 만들어 폴더(및 하위 폴더)를 스캔하고 모든 빈 폴더를 삭제할 수 있습니다.물론, 시스템에 따라 비어 있는 것처럼 보이지만 실제로는 필요한 디렉터리가 있을 수 있으니 삭제하기 전에 다시 한번 확인하는 것이 좋습니다.하지만 급하게 정리해야 할 때 정말 유용한 도구입니다.

PowerShell을 사용하여 빈 폴더를 삭제하는 방법

방법 1: PowerShell 함수 사용

PowerShell에는 “빈 폴더 삭제”와 같은 직접적인 명령이 없지만, 모든 빈 폴더를 찾아 삭제하는 사용자 지정 함수를 작성할 수 있기 때문에 이 방법이 유용합니다.특히 디렉터리 구조가 복잡하고 한 번에 많은 폴더를 정리하고 싶을 때 유용합니다.이 함수를 실행하면 폴더 구조를 빠르게 탐색하여 빈 폴더를 모두 삭제합니다.마치 명령으로 “봄맞이 대청소”를 하는 것과 같습니다.하지만 폴더가 잠겨 있거나 권한 문제가 있는 경우 PowerShell이 ​​해당 폴더를 삭제하지 못할 수 있으므로, 처음 시도에서 모든 폴더가 삭제되지 않더라도 주의해야 합니다.

스크립트는 다음과 같습니다. PowerShell 창에 저장한 다음 폴더 경로를 지정하여 함수를 호출하기만 하면 됩니다.

 function Remove-EmptyFolders([string]$folders){ Get-ChildItem $folders -Recurse | Where-Object {$_. PSIsContainer -and !(Get-ChildItem $_. FullName -Recurse | Where-Object {!$_. PSIsContainer})} | Remove-Item -Force -Recurse -ErrorAction SilentlyContinue } 

이 간단한 함수는 지정된 경로의 각 폴더를 순회하면서 파일이나 하위 폴더가 없는지 확인합니다.비어 있으면 해당 폴더를 삭제합니다.`-Force` 플래그는 읽기 전용 폴더도 삭제하는 데 도움이 되며, `-ErrorAction SilentlyContinue`는 PowerShell이 ​​오류 발생 시에도 오류 없이 계속 실행되도록 합니다.

사용하려면 다음과 같이 폴더 경로를 제공하면 됩니다.

Remove-EmptyFolders 'C:\TempTest'

또는 원하시면 경로를 변수에 저장하고 함수를 호출할 수도 있습니다.

$folderPath = 'C:\YourFolder' Remove-EmptyFolders $folderPath

네, 맞습니다.이 프로그램은 하위 폴더까지 깔끔하게 정리해 주기 때문에 수동으로 클릭하지 않고도 복잡한 폴더 구조를 정리하는 데 아주 유용합니다.다만, 숨겨진 파일이 있거나 권한 설정이 잘못된 경우처럼 실제로는 비어 있는 폴더가 비어 있는 것처럼 보일 수 있으니 주의하세요.

방법 2: 배치 스크립트 또는 타사 도구 사용

PowerShell이 ​​너무 복잡하게 느껴지거나 GUI 도구를 선호한다면, FileVoyagerEmpty Folder Nuker처럼 시각적으로 작업을 수행하는 무료 프로그램도 있습니다.하지만 스크립트를 사용하면 더 많은 제어 권한을 얻을 수 있고 추가 설치가 필요하지 않습니다.또한, 스크립트를 한 번 작성해 두면 기존 정리 루틴에 연동하여 사용할 수 있습니다.

정확한 이유는 모르겠지만, 일부 환경에서는 권한 문제나 삭제되지 않는 폴더가 발생할 수 있습니다.이러한 경우 PowerShell을 관리자 권한으로 실행하거나 폴더 내의 파일이 다른 프로세스에 의해 잠겨 있는지 확인하면 도움이 될 수 있습니다.

그래도 문제가 해결되지 않으면 다음 방법을 시도해 보세요.스크립트가 대상 폴더를 모두 삭제할 수 있는 권한이 있는지 확인하거나 관리자 권한으로 PowerShell을 실행해 보세요.

간단한 팁 하나 드리자면, 먼저 작은 샘플로 테스트해 보는 것이 좋습니다.대규모 실행 전에 스크립트가 예상대로 작동하는지 확인하기 위해 테스트 폴더 몇 개를 삭제해 보세요.

요약

  • 간단한 PowerShell 함수를 사용하여 모든 빈 폴더를 재귀적으로 찾아 삭제합니다.
  • 권한 문제가 발생하는 경우 PowerShell을 관리자 권한으로 실행하십시오.
  • 대량 정리 작업을 시작하기 전에 더미 폴더에서 스크립트를 테스트하세요.
  • 완벽한 시스템은 아니니, 중요한 파일을 잃어버리지 않도록 삭제하기 전에 폴더를 꼼꼼히 확인하세요.

마무리

빈 디렉터리를 자동으로 정리하면 특히 시스템과 폴더를 깔끔하게 유지하는 경우 시간을 많이 절약할 수 있습니다.이 스크립트가 완벽하지는 않지만, 지루한 작업을 자동화하는 데에는 꽤 유용한 방법입니다. PowerShell은 권한이나 폴더 속성에 따라 가끔씩 오류가 발생하기도 하지만, 익숙해지면 전반적으로 상당히 안정적으로 작동합니다.다만 중요한 폴더에 대해 스크립트를 실행하기 전에 반드시 먼저 확인하는 것이 좋습니다.물론 Windows는 필요 이상으로 보안을 강화해 놓았지만요.

이게 누군가의 작업 시간을 몇 시간이라도 줄여주길 바랍니다.빈 폴더 정리하는 데 성공하시길!



이 글이 도움이 되었나요?