¿Cómo puedo encontrar los 10 archivos más grandes en una estructura de directorios?¿Cómo puedo encontrar los 10 archivos más grandes en una estructura de directorios
Respuesta
probar este script de
gci -re -in * |
?{ -not $_.PSIsContainer } |
sort Length -descending |
select -first 10
Desglose:
El bloque de filtro "?{ -not $_.PSIsContainer }
" está destinado a filtrar los directorios. El comando de clasificación ordenará todas las entradas restantes por tamaño en orden descendente. La cláusula select sólo permitirá el primer 10 por lo que será la más grande 10.
en Linux:
ls -XS | head -n 10
EDIT: Ah, ahora veo la etiqueta "powershell", lo siento por mi respuesta inútil ;)
Esto se puede simplificar un poco porque directorios tienen ninguna longitud:
gci . -r | sort Length -desc | select fullname -f 10
+1 Lo usaré en el futuro (menos tipeo). –
Más el '.' ni siquiera es obligatorio.Podría simplificar esa parte frontal para simplemente "gci -r | ..." ya que la ruta predeterminada es el directorio actual. –
Si se preocupan por un poco de formato del conjunto de resultados, aquí hay dos funciones con salidas más agradable buscando:
#Function to get the largest N files on a specific computer's drive
Function Get-LargestFilesOnDrive
{
Param([String]$ComputerName = $env:COMPUTERNAME,[Char]$Drive = 'C', [Int]$Top = 10)
Get-ChildItem -Path \\$ComputerName\$Drive$ -Recurse | Select-Object Name, @{Label='SizeMB'; Expression={"{0:N0}" -f ($_.Length/1MB)}} , DirectoryName, Length | Sort-Object Length -Descending | Select-Object Name, DirectoryName, SizeMB -First $Top | Format-Table -AutoSize -Wrap
}
#Function to get the largest N files on a specific UNC path and its sub-paths
Function Get-LargestFilesOnPath
{
Param([String]$Path = '.\', [Int]$Top = 10)
Get-ChildItem -Path $Path -Recurse | Select-Object Name, @{Label='SizeMB'; Expression={"{0:N0}" -f ($_.Length/1MB)}} , DirectoryName, Length | Sort-Object Length -Descending | Select-Object Name, DirectoryName, SizeMB -First $Top | Format-Table -AutoSize -Wrap
}
Parece que no responde la pregunta original. –
He blogged about a similar problem donde quiero encontrar los archivos más grandes en un directorio y todos los subdirectorios (toda la unidad C: por ejemplo), así como la lista de su tamaño en un bonito formato fácil de entender (GB , MB y KB). Esta es la función de PowerShell uso que enumera todos los archivos ordenados por tamaño en un bonito Out-GridView:
Get-ChildItem -Path 'C:\SomeFolder' -Recurse -Force -File
| Select-Object -Property FullName
,@{Name='SizeGB';Expression={$_.Length/1GB}}
,@{Name='SizeMB';Expression={$_.Length/1MB}}
,@{Name='SizeKB';Expression={$_.Length/1KB}}
| Sort-Object { $_.SizeKB } -Descending
| Out-GridView
Dar salida a la GridView es agradable, ya que le permite filtrar fácilmente los resultados y desplazarse a través de ellos. Esta es la versión más rápida de PowerShell v3, pero la publicación de blog también muestra una versión más lenta compatible con PowerShell v2.
Y, por supuesto, si solo desea los 10 archivos más grandes, puede agregar un parámetro -First 10
a la llamada Select-Object.
El básico para conseguir los 10 más grandes archivos en el directorio local:
ls -l -S | cabeza -n 10
o puede utilizar
du -a/casa/directory | sort -n -r | head -n 10
- 1. ¿Cómo encontrar los N archivos más grandes en un repositorio git?
- 2. Comando de shell para dividir archivos grandes en 10 archivos más pequeños
- 3. directorios temporales en WebLogic 10
- 4. ¿Cómo puedo manejar archivos grandes en Ruby?
- 5. Lista ordenada, recursiva, ordenada, legible, de los archivos más grandes
- 6. Estructura de directorios para una biblioteca C++
- 7. ¿Cómo puedo dividir archivos grandes?
- 8. ¿Cómo encontrar los objetos más grandes en una base de datos de SQL Server?
- 9. Estructura de archivos de Cassandra: ¿cómo se usan los archivos?
- 10. ¿Cómo puedo comprimir el archivo con una estructura de directorios plana utilizando Zipfile en Python?
- 11. ¿Cómo puedo personalizar la estructura de directorios de Jasmine?
- 12. Maven estructura de directorios
- 13. Cómo recursiva bucle a través de una estructura de archivos y renombrar directorios en pitón
- 14. ¿Cómo encontrar cadenas comunes entre dos archivos muy grandes?
- 15. Makefile con los archivos de origen en diferentes directorios
- 16. descomprimir archivos más grandes con PHP
- 17. ¿Cómo puedo encontrar el tamaño de una estructura?
- 18. ¿Cómo encontrar directorios anidados?
- 19. java.util.zip - Recreando la estructura de directorios
- 20. Rellenar TreeView con estructura de directorios del sistema de archivos
- 21. Cómo copiar una estructura de directorios en ruby, excluyendo ciertas extensiones de archivos
- 22. GZipStream y DeflateStream producen archivos más grandes
- 23. Modificación de una estructura de directorios en Mercurial
- 24. ¿Cómo puedo leer recursivamente directorios en Perl?
- 25. Copie todos los archivos de la estructura de directorios completa en la ruta base de otro
- 26. Unión-encontrar en una estructura gráfica
- 27. ¿Cómo puedo enviar mensajes más grandes a través de WebSocket?
- 28. Cómo recursivamente enumerar todos los archivos y directorios
- 29. Más forma pitónica de encontrar los dos primeros valores más importantes en una lista en python
- 30. Ruby: ¿cómo puedo encontrar y eliminar directorios vacíos recursivamente?
Eso es genial ---- Me di cuenta de cómo formatear el resultado final usando format-table pero lo que no tengo claro es la sintaxis? {} y $ _ Supongo que estas son formas abreviadas de alguna instrucción de construcción? –
La sintaxis? {} es la abreviatura de where-obj ect que es una expresión de filtro. Esencialmente, powershell pasará cada objeto a la cláusula? {} En el origen de $ _. Si el retorno es $ true, el objeto continuará por la tubería, de lo contrario se filtrará. – JaredPar
esto es un comando intensivo de memoria y propotional para el tamaño del contenido que se busca, supongo. – Ankush