Comment trouver les 10 fichiers les plus volumineux dans une structure de répertoires?Comment trouver les 10 fichiers les plus volumineux dans une structure de répertoire
Répondre
Essayez ce script
gci -re -in * |
?{ -not $_.PSIsContainer } |
sort Length -descending |
select -first 10
Répartition:
Le bloc de filtre "?{ -not $_.PSIsContainer }
" est destiné à filtrer les répertoires. La commande de tri triera toutes les entrées restantes par taille dans l'ordre décroissant. La clause select ne permettra la première 10 à travers elle sera ainsi le plus grand 10.
Sur linux:
ls -XS | head -n 10
EDIT: Oh, maintenant je vois le tag "Powershell", désolé pour ma réponse inutile ;)
Cela peut être un peu simplifié car répertoires ont aucune longueur:
gci . -r | sort Length -desc | select fullname -f 10
+1 Je vais l'utiliser dans le futur (moins de frappe). –
Plus le '.' n'est même pas nécessaire.Pourrait simplifier cette partie avant à juste "gci -r | ..." puisque le chemin par défaut est le répertoire actuel. –
Si vous souciez un peu de mise en forme du jeu de résultats, voici deux fonctions avec des sorties plus joli:
#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
}
Il semble que cela ne réponde pas à la question initiale. –
J'ai blogged about a similar problem où je veux trouver les plus gros fichiers dans un répertoire et tous les sous-répertoires (l'ensemble de lecteur C: par exemple), ainsi que la liste de leur taille dans un joli format facile à comprendre (GB , MB et KB). Voici la fonction PowerShell j'utilise que répertorie tous les fichiers classés par taille dans un joli 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
à la GridView Sortie est agréable car il vous permet de facilement filtrer les résultats et faites défiler. C'est la version la plus rapide de PowerShell v3, mais l'article du blog montre également une version plus lente compatible avec PowerShell v2.
Et bien sûr, si vous ne voulez que les 10 premiers fichiers les plus volumineux, vous pouvez simplement ajouter un paramètre -First 10
à l'appel Select-Object.
L'un de base pour obtenir le top 10 des plus gros fichiers dans le répertoire local:
ls -l -S | head -n 10
ou vous pouvez utiliser
du -a/home/directory | sort -n -r | head -n 10
- 1. Comment créer une structure de répertoire cible pour les fichiers de copie en ASP classique?
- 2. Obtenir une liste de tous les fichiers dans un répertoire
- 3. Répertoire pour stocker les fichiers mis en cache dans Rails?
- 4. Comment décompressez-vous les fichiers très volumineux en python?
- 5. bash: Comment délimiter les chaînes pour trouver les fichiers
- 6. Fichiers liés dans une structure de dossiers
- 7. comment trouver tous les fichiers extraits dans une branche
- 8. Comment lister les fichiers dans un répertoire statique?
- 9. Trouver le fichier le plus ancien (récursivement) dans un répertoire
- 10. phpmyadmin - liste les fichiers dans le répertoire
- 11. Comment éviter la coloration syntaxique pour les fichiers volumineux dans vim?
- 12. Validation de structure pour les fichiers binaires
- 13. Structure de répertoire pour une bibliothèque C++
- 14. (PHP) insérer au hasard une phrase de 10 mots dans un document texte volumineux
- 15. trouver les lieux les plus proches dans iPhone
- 16. Rapide «Trouver dans les fichiers» pour VIM?
- 17. Comment déplacer tous les fichiers mp3 dans un seul répertoire?
- 18. Comment trouver les notices avec les tags les plus courants, comme les questions associées dans StackOverflow
- 19. Transfert de fichiers volumineux HTTP
- 20. Dans .Net, quel est le moyen le plus rapide pour trouver récursivement tous les fichiers d'un répertoire racine?
- 21. Structure de répertoire dans TreeView VB
- 22. comment enregistrer plus de 10 applications dans Google App Engine
- 23. comment trouver les fichiers contenant une chaîne en utilisant egrep
- 24. Trouver les plus longues chaînes répétées?
- 25. Comment joindre les résultats de deux tables dans Oracle 10
- 26. Téléchargement de fichiers volumineux dans WSS v3
- 27. Structure de données efficace pour comparer les éléments avec les attributs les plus courants
- 28. source tous les fichiers dans un répertoire de .bash_profile
- 29. Trouver tous les fichiers dans un répertoire qui ne sont pas eux-mêmes des répertoires
- 30. Comment créer et utiliser une fausse structure de répertoire?
C'est génial ---- J'ai trouvé comment formater le résultat final en utilisant la table de format mais ce que je ne suis pas clair sur est la syntaxe? {} et $ _ Je suppose que ce sont des formes courtes pour une construction d'instruction? –
La syntaxe? {} est l'abréviation de where-obj ect qui est une expression de filtre. Essentiellement, PowerShell passera chaque objet à la clause? {} Dans le fichier de $ _. Si le retour est $ true, l'objet continuera dans le pipeline, sinon il sera filtré. – JaredPar
c'est une commande intensive en mémoire et propotionnelle à la taille du contenu recherché je suppose. – Ankush