web-dev-qa-db-fra.com

Comment puis-je lister les répertoires et leurs tailles dans une invite de commande?

Je voudrais voir la taille des sous-dossiers dans un dossier, semblable à la commande linux du -sh. Comment puis-je lister les répertoires et leurs tailles dans une invite de commande?

13
giorgio79

Essayez l’utilitaire Disk Usage de Sysinternals. Plus précisément, du -l 1 doit indiquer la taille de chaque sous-répertoire du répertoire en cours. Pour plus d'informations, exécutez du sans aucun paramètre.


Si PowerShell est correct, essayez les solutions suivantes:

Get-ChildItem |
Where-Object { $_.PSIsContainer } |
ForEach-Object {
  $_.Name + ": " + (
    Get-ChildItem $_ -Recurse |
    Measure-Object Length -Sum -ErrorAction SilentlyContinue
  ).Sum
}

Les tailles sont en octets. Pour les formater dans une unité plus grande telle que MB, essayez ce qui suit (condensé sur une ligne):

Get-ChildItem | Where-Object { $_.PSIsContainer } | ForEach-Object { $_.Name + ": " + "{0:N2}" -f ((Get-ChildItem $_ -Recurse | Measure-Object Length -Sum -ErrorAction SilentlyContinue).Sum / 1MB) + " MB" }

Pour plus d'informations, consultez cet article sur Technet .

Si vous souhaitez une mise en forme plus flexible des tailles (en choisissant ko/Mo/Go/etc en fonction de la taille réelle), consultez cette question et ses réponses .


Je ne pense pas qu'il soit possible de faire ce que vous voulez à partir de la ligne de commande normale et avec seulement quelques commandes simples. Voir ce script à titre d'exemple (ne le copiez pas ici car je ne crois pas que cette approche mérite d'être poursuivie, à moins que PowerShell ne soit pas disponible et les utilitaires tiers ne sont pas acceptables).

16
Indrek

Je n'ai aucune expérience de du sous Linux. Mais dans Windows, j’utilise dir /s pour répertorier tous les dossiers et sous-dossiers ainsi que la taille des fichiers.

0
Ankit