En este post veremos cómo ver tamaño directorio utilizando PowerShell.
Con PowerShell, no disponemos de un cmd-let directo para poder ver el tamaño de un directorio.
Para ver el tamaño de un directorio con PowerShell, deberemos realizar los siguientes pasos:
PowerShell: Ver tamaño directorio: Paso a paso
# 1. Definimos la ruta del directorio al que queremos ver su tamaño
$RutaDirectorio = "C:\SYSADMIT"
# 2. Lista ficheros y subdirectorios dentro del directorio
$Elementos = Get-ChildItem -Path $RutaDirectorio -Recurse
# 3. Calcula el tamaño total sumando los tamaños de cada elemento
$TamTotal = ($Elementos | Measure-Object -Property Length -Sum).Sum
# 4. Cambia el formato del tamaño total en GB
$TamTotalFormateado = "{0:N2}" -f ($TamTotal / 1GB) + " GB"
# 5. Muestra el tamaño total del directorio
Write-Host "El tamaño total del directorio $RutaDirectorio es $TamTotalFormateado"
Vista ejecución:
Explicación paso a paso:
1. Definimos el directorio al que queremos ver su tamaño y almacenamos la ruta en la variable: $RutaDirectorio
2. Utilizamos Get-ChildItem para obtener una lista de ficheros y subdirectorios de forma recursiva y almacenamos el resultado en la variable: $Elementos
3. Calculamos el tamaño total: Para ello, utilizaremos el cmd-let: Measure-Object y Sum. El resultado total sin aplicar formato, lo almacenaremos en la variable: $TamTotal
4. Cambiamos el formato total a GB: Para ello, utilizaremos contenido que hemos almacenado en: $TamTotal y se aplicaremos formato.
N2 -> Indica los decimales a mostrar. N2, indicará mostrar 2 decimales.
Guardamos el resultado final en la variable: $TamTotalFormateado
5. Mostramos el contenido de la variable: $TamTotalFormateado.
PowerShell: Ver tamaño directorio: En una sola línea (one-liner)
Podemos simplificar el proceso anterior a una sola línea de la siguiente forma:
"{0:N2}" -f ((Get-ChildItem -Path C:\SYSADMIT -Recurse | Measure-Object -Property Length -Sum ).sum /1GB) + " GB"
Por otro lado, también podemos ver la salida en MB, de la siguiente forma:
"{0:N2}" -f ((Get-ChildItem -Path C:\SYSADMIT -Recurse | Measure-Object -Property Length -Sum ).sum /1MB) + " MB"
Vista ejecución:


No hay comentarios:
Publicar un comentario