#16219

Note : lister tous les répertoires dans un fichier, sous Windows

chcp 65001
cd c:\
dir /s | find /v "/" > %USERPROFILE%\Desktop\out.txt

Le fichier "out.txt" sur le bureau contiendra la liste, avec la taille, de tous les répertoires du disque C:.
(la première commande est pour passer la console en UTF8, et ne pas produire d’erreurs d’encodage dans le fichier de sortie sur les dossiers ont des noms non-ascii.)

Après l’encodage est celui de Windows, donc merdique, et il faut faire quelques replace() pour retrouver quelque chose de propre (par exemple remplacer l’espèce de ÿ par un espace dans les tailles en octets des dossiers).

Ensuite, sous Linux, j’utilise grep et les regex pour y chercher les dossiers les plus volumineux, par exemple ici ceux de plus d’un Go :

grep -En "[0-9]{1,3} ([0-9]{3} ){3}octets" out.txt

Qui donne quelque chose comme ça :


34716: Repertoire de C:\Users\E\AppData\Roaming\Apple Computer\MobileSync\Backup\2bbeabb51fff6d6c0ecbe08c389e1101717-20160708-001011		7204 fichier(s)    2 622 554 099 octets
35746: Repertoire de C:\Users\E\AppData\Roaming\Apple Computer\MobileSync\Backup\8b0814aebb2ce4791b78cde91bf33cb4231		6394 fichier(s)    3 514 059 440 octets
35748: Repertoire de C:\Users\E\AppData\Roaming\Apple Computer\MobileSync\Backup\Apps		58 fichier(s)    2 164 449 713 octets
41534: Repertoire de C:\Users\E\Documents\PRO64_Data		17 fichier(s)    2 775 411 462 octets
41554: Repertoire de C:\Users\E\Downloads		20 fichier(s)    2 293 264 330 octets
42342: Repertoire de C:\Users\E\Music\Nouveau dossier		204 fichier(s)    1 629 164 395 octets
42368: Repertoire de C:\Users\E\Videos		1 fichier(s)    1 997 012 992 octets
42374: Repertoire de C:\Users\Public\Documents		4 fichier(s)    2 198 038 538 octets
42544: Repertoire de C:\Users\Public\Music\Nouveau dossier - Copie		204 fichier(s)    1 629 164 395 octets
42548: Repertoire de C:\Users\Public\Pictures		2 fichier(s)    1 666 728 771 octets
49970: Repertoire de C:\Windows\Installer		537 fichier(s)    3 394 245 468 octets
52642: Repertoire de C:\Windows\SoftwareDistribution\DataStore		1 fichier(s)    1 199 636 480 octets
52696: Repertoire de C:\Windows\System32		2753 fichier(s)    1 530 923 297 octets
55168: Repertoire de C:\Windows\SysWOW64		2407 fichier(s)    1 103 340 866 octets
100373:           339631 fichier(s)   187 455 833 692 octets
100374:           149864 Rep(s)  42 483 564 544 octets libres

ÉDIT Roland me signale qu’ajouter « /-c » en paramètre du « div » retire les séparateurs de millier dans les tailles de fichiers.
Ceci simplifie un peu les grep :

dir /s /-c | find /v "/" > %USERPROFILE%\Desktop\out.txt

Puis, pour les fichiers >1 Go (oui, c’est bien « 10 », car un milliard c’est 10^9, mais ça contient 10 chiffres :p) :

grep -En "[0-9]{10,}octets" out.txt
https://lehollandaisvolant.net/?mode=links&id=20170216215053