du.exe
Vous permet d'identifier récursivement les dossiers qui occupent une grande quantité d'espace. Par exemple, ce qui suit vous montrera la taille de tous les dossiers de c:\
3-niveaux profond:
du.exe -l 3 c:\
Comment filtrer cette sortie pour me montrer que les dossiers supérieurs à 1 Go?
Voici un extrait de la sortie de du.exe
pour référence:
Du v1.4 - report directory disk usage
Copyright (C) 2005-2011 Mark Russinovich
Sysinternals - www.sysinternals.com
6,344,864 c:\Windows\winsxs
18,268,671 c:\Windows
483,343,308 c:\
Files: 412125
Directories: 42072
Size: 494,943,548,281 bytes
Size on disk: 487,560,269,896 bytes
Comme l'a dit l'autre réponse, vous ne pouvez pas le faire avec du.exe
seul. PowerShell à la rescousse!
.\du.exe -c -l 3 C:\ | ConvertFrom-Csv -Header Size,Path | Where-Object { [int]$_.Size -gt 1048576 } | Sort-Object { [int]$_.Size } -descending
Briser cette longue commande dans les bits individuels qui sont chacun canalisée dans la suivante:
.\du.exe -c -l 3 C:\
C'est fondamentalement ce que vous avez commencé, sauf le -c
Paramètre indique du
pour formater la sortie en tant que CSV.
ConvertFrom-Csv -Header Size,Path
Cela prend la sortie CSV de du
et la convertit en une hache PowerShell. Etant donné que du
ne fournit pas d'en-tête avec des noms de colonne, cela doit être fait manuellement.
Where-Object { [int]$_.Size -gt 1048576 }
Cela filtre les données, qui ne renvoyant que ces lignes où la taille est supérieure à 1 Go (du
renvoie des tailles dans KB et 1 Go = 1048576 KB). Noter la [int]
Partie, à laisser PowerShell sache qu'il s'agit de données numériques.
Sort-Object { [int]$_.Size } -descending
Cela trie les données par taille, en ordre décroissant (spécifiant à nouveau que les données à trier sont numériques). Ceci est facultatif, bien sûr.
Dans la dernière version DU.EXE Ajout d'un en-tête avec PowerShell ConvertFrom-CSV ne fonctionne pas hors de la boîte, car Du.exe ajoute à sa propre tête dans la liste. Ce que nous devons faire est de sélectionner l'en-tête existant avec la commande SELECT.
du.exe -c -l 3 C:\ | ConvertFrom-Csv | select Path,DirectorySize | Where-Object { [int]$_.DirectorySize -gt 1048576 }
Cette option n'est pas disponible avec du 1.4
Utilisation: DU [-C] [-L (niveaux) | -n | -v] [-u] [-q] (répertoire)
-c imprimer la sortie comme CSV.
-l Spécifiez la profondeur de l'information sous-répertoire (la valeur par défaut est tous les niveaux).
-n ne recueille pas.
-Q silence (pas de bannière).
-u compter chaque instance d'un fichier hardlinked.
-V Afficher la taille (en KB) de répertoires intermédiaires.
Donc, simplement utiliser DU ne peut pas limiter la sortie à quelque chose d'une taille spécifique.