Me gustaría ver tamaños de subcarpetas en una carpeta, similar al du -shcomando de Linux . ¿Cómo puedo enumerar directorios y sus tamaños en el símbolo del sistema?
Me gustaría ver tamaños de subcarpetas en una carpeta, similar al du -shcomando de Linux . ¿Cómo puedo enumerar directorios y sus tamaños en el símbolo del sistema?
Respuestas:
Pruebe la utilidad de uso de disco de Sysinternals. Específicamente, du -l 1debe mostrar el tamaño de cada subdirectorio del directorio actual. Para obtener más información, ejecute dusin ningún parámetro.
Si PowerShell está bien, intente lo siguiente:
Get-ChildItem |
Where-Object { $_.PSIsContainer } |
ForEach-Object {
$_.Name + ": " + (
Get-ChildItem $_ -Recurse |
Measure-Object Length -Sum -ErrorAction SilentlyContinue
).Sum
}
Los tamaños están en bytes. Para formatearlos en una unidad más grande como MB, intente lo siguiente (condensado en una línea):
Get-ChildItem | Where-Object { $_.PSIsContainer } | ForEach-Object { $_.Name + ": " + "{0:N2}" -f ((Get-ChildItem $_ -Recurse | Measure-Object Length -Sum -ErrorAction SilentlyContinue).Sum / 1MB) + " MB" }
Para obtener más información, consulte este artículo en Technet .
Si desea un formato más flexible de los tamaños (eligiendo kB / MB / GB / etc. en función del tamaño real), consulte esta pregunta y sus respuestas .
No creo que sea posible hacer lo que quiere desde la línea de comandos regular y con solo unos pocos comandos simples. Vea este script como ejemplo (no voy a copiarlo aquí porque no creo que valga la pena seguir ese enfoque, a menos que PowerShell no esté disponible y las utilidades de terceros no sean aceptables).
No tengo experiencia duen Linux. Pero en Windows utilizo dir /spara enumerar todas las carpetas y subcarpetas junto con los tamaños de archivo.
/Sconmutador no muestra los tamaños de los directorios, simplemente hace que el comando pase recursivamente por todos los subdirectorios.