Buscar

PowerShell: Ver tamaño directorio

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:

PowerShell: Ver tamaño directorio

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:

PowerShell: Ver tamaño directorio

Disponéis de mas información sobre la administración de sistemas con PowerShell en el libro:

 

No hay comentarios:

Publicar un comentario