Cómo eliminar todas las carpetas vacías en PowerShell (con ejemplo)
Puede utilizar la siguiente sintaxis en PowerShell para enumerar todas las carpetas vacías en el directorio actual:
Dir -Directory -Recurse | Where-Object {$_.GetFileSystemInfos().Count -eq 0 }
Luego puede utilizar la siguiente sintaxis para eliminar recursivamente todas las carpetas vacías en el directorio actual:
Get-ChildItem -Recurse -Force -Directory |
Sort-Object -Property FullName -Descending |
Where-Object { $($_ | Get-ChildItem -Force | Select-Object -First 1).Count -eq 0 } |
Remove-Item -VerboseTenga en cuenta que usamos el cmdlet Remove-Item en la última línea para eliminar las carpetas vacías y especificamos -Verbose para que PowerShell genere los nombres de las carpetas que elimina.
El siguiente ejemplo muestra cómo utilizar esta sintaxis en la práctica.
Ejemplo: Cómo eliminar todas las carpetas vacías en PowerShell
Supongamos que queremos eliminar todas las carpetas vacías en nuestro directorio actual.
Primero podemos usar la instrucción Dir para ver todas las carpetas en el directorio actual:
Dir -Directory -Recurse
La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:
Podemos ver que el directorio actual contiene cinco carpetas y ninguna de las carpetas tiene subcarpetas.
Podemos usar la siguiente sintaxis para verificar primero si alguna de estas carpetas está vacía:
Dir -Directory -Recurse | Where-Object {$_.GetFileSystemInfos().Count -eq 0 }La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:
Esto devuelve los nombres de dos carpetas que están vacías:
- ubicaciones
- regiones
Podemos utilizar la siguiente sintaxis para eliminar estas carpetas del directorio:
Get-ChildItem -Recurse -Force -Directory |
Sort-Object -Property FullName -Descending |
Where-Object { $($_ | Get-ChildItem -Force | Select-Object -First 1).Count -eq 0 } |
Remove-Item -VerboseLa siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:
La declaración VERBOSE en el resultado nos indica que se han eliminado las carpetas regions y locations.
Podemos usar la instrucción Dir una vez más para ver todas las carpetas en el directorio actual:
Podemos ver que las carpetas regiones y ubicaciones se han eliminado del directorio actual.



