¿Cómo puedo encontrar el tamaño de una carpeta con Powershell?


23

Quiero poder ver qué tan grande es una carpeta (todos los contenidos, incluidas las subcarpetas y sus contenidos). No puedo encontrar un comando de PowerShell para hacer eso, pero no quiero tener que abrir el explorador de Windows cada vez que quiero saber el tamaño. ¿Hay una manera simple de lograr esto desde Powershell?

Respuestas:


29

Estoy bastante seguro de que obtuve esto de un consejo de Powershell del día; No puedo recordarlo con certeza, pero lo he estado usando durante mucho tiempo y ha sido muy útil.

"{0:N2}" -f ((Get-ChildItem -path C:\InsertPathHere -recurse | Measure-Object -property length -sum ).sum /1MB) + " MB"

Editar: para que sea más fácil de usar (para que no tenga que recordar y escribir todo esto cada vez), puede agregarlo a su perfil como una función, así:

function Get-Size
{
 param([string]$pth)
 "{0:n2}" -f ((gci -path $pth -recurse | measure-object -property length -sum).sum /1mb) + " mb"
}

Y luego úsalo como cualquier comando:

Get-size C:\users\administrator

1
Tengo curiosidad, ¿cómo agrego esto a un perfil de PowerShell? ¿Te refieres al abastecimiento de puntos ? (nota al margen: el código puede formatearse agregando 4 espacios en blanco al principio)
nixda

2
Usted puede . fuente su perfil si ha realizado cambios y no desea reiniciar su sesión PS, pero se carga automáticamente cada vez que inicia Powershell, por lo que generalmente no haría eso. Para crear su perfil por primera vez, haga lo siguiente: ni $ profile -type f -fo Luego puede abrir y editar su perfil. Para encontrar dónde se encuentra, simplemente escriba $ profile en el shell y se mostrará la ruta. Entonces, cualquier función que agregue, como la anterior, está disponible como si estuviera incorporada. Gracias por la sugerencia de formato del código también
Darian Everett

1
+1 Whoa no sabía ese truco. Fascinante :)
nixda

1
¿qué {0:N2}hacer?
soandos

1
Formateo El cero es el marcador de posición, el N2 significa que es un número con dos decimales.
Darian Everett

9

Está en el sitio de Microsoft Technet aquí.

entrada:

Get-ChildItem C:\Scripts -recurse | Measure-Object -property length -sum

salida:

Count    : 58
Average  :
Sum      : 1244611
Maximum  :
Minimum  :
Property : length

1
Sin embargo, esto a menudo puede estar bastante lejos, ya que debe verificar de forma recursiva si la carpeta tiene subcarpetas. Además, ¿cuál es esa medida, bits?
Austin T French

Corrija sus bits, también olvidé incluir el interruptor de repetición en el que no he editado, también tenga en cuenta que estaba publicando principalmente para proporcionar el artículo de Technet sobre cómo realizar estas búsquedas que se encuentran a través de Google (tamaño de carpeta de PowerShell) para que OP pueda obtener una comprensión completa del comandos utilizados no solo la respuesta
50-3

Gracias por las actualizaciones, creo que es mejor para el formato de preguntas y respuestas.
Austin T French
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.