파일 관리 작업을 하다 보면 불필요한 빈 폴더가 많이 생기곤 합니다. 특히 프로젝트를 관리하거나 여러 디렉터리를 정리할 때 빈 폴더가 쌓이면 관리가 번거로워질 수 있습니다. 이번 글에서는 PowerShell 스크립트를 사용하여 Windows에서 빈 폴더를 자동으로 탐색하고 삭제하는 방법을 소개하겠습니다.
아래는 Windows에서 빈 폴더를 삭제하기 위한 PowerShell 스크립트입니다. 이 스크립트는 현재 디렉터리에서 시작해 모든 하위 폴더를 탐색하고, 빈 폴더를 찾아 삭제하는 작업을 수행합니다.
# 현재 디렉터리에서 시작하여 모든 하위 디렉터리를 검색하고, 디렉터리 정보만 가져옴
$folders = Get-ChildItem -Path . -Recurse -Directory
# 삭제된 폴더 수를 기록하는 변수, 초기값은 0
$removedCount = 0
# 이전 출력의 문자열 길이를 저장하는 변수, 초기값은 0
$lastLength = 0
# 모든 폴더를 반복하여 처리
foreach ($folder in $folders) {
$output = "`rScanning folder : $($folder.FullName)"
# 현재 출력 문자열의 길이를 구함
$currentLength = $output.Length
# 현재 출력 문자열의 길이가 이전 길이보다 짧을 경우, 남은 텍스트를 지우기 위해 공백 추가
if ($currentLength -lt $lastLength) {
$output += (" " * ($lastLength - $currentLength)) # 부족한 길이만큼 공백 추가
}
# 커서를 줄의 시작으로 이동하고 출력하되, 개행 없이 실행
Write-Host -NoNewline "`r$output"
# 현재 출력 문자열의 길이를 저장해 다음 루프에서 비교할 수 있도록 설정
$lastLength = $currentLength
# 현재 폴더가 빈 폴더인지 확인 (하위 항목 개수 측정)
if ((Get-ChildItem -Path $folder.FullName -Recurse | Measure-Object).Count -eq 0) {
# 빈 폴더일 경우 폴더 삭제 (강제 삭제)
Remove-Item -Path $folder.FullName -Force -Recurse
# 삭제된 폴더의 경로를 출력
Write-Host "`rDeleted folder: $($folder.FullName)"
$removedCount++
}
}
# 총 삭제된 빈 폴더의 개수를 출력
Write-Host "`nTotal removed empty folders count: $removedCount"
Pause
스크립트를 다운받아 빈 폴더를 삭제하고 싶은 경로에 위치시킨 후 실행하면 됩니다.
'Dev' 카테고리의 다른 글
[Java] Java의 Collection Framework에 대해 (0) | 2024.11.21 |
---|---|
[Java] Double.MIN_VALUE는 음수가 아니다. (1) | 2024.11.20 |
[Dev C++] Dev C++에서 for 내부 변수 선언 오류 해결 방법 (0) | 2024.11.09 |
[Dev C++] Dev C++에서 c언어만 사용하는 방법 (1) | 2024.11.07 |
Python 리스트 언패킹 (0) | 2024.06.19 |