Trucs et astuces

Windows 10, optimiser les performances avec la commande « ForFiles »

Microsoft fait l’éloge des outils de maintenance de Windows 10 mais avec le temps et à l’image de Windows 7, le système « s’encrasse » et s’alourdit avec l’accumulation de fichiers inutiles ou obsolètes. Une commande particulière permet de faire le ménage avec une condition de date. En clair il est possible de supprimer tous les fichiers ayant plus de X jours. Ceci concerne n’importe quels répertoires.

Un outil intégré à Windows permet de faire le ménage dans les fichiers afin de soulager l’unité de stockage.  Il est possible d’automatiser la suppression des données les plus anciennes en quelques secondes.

La démarche est bénéfique au performance du système. Le fait de conserver des dossiers propres, comme par exemple « Téléchargements », accélère leurs changements mais pas seulement. En supprimant les fichiers inutiles vous récupérez de l’espace de stockage (appréciable avec un SSD) tout en évitant les ralentissements dus à la lecture de l’ensemble des données des dossiers. Plus un dossier est encombré plus son ouverture est longue.

Nous n’allons pas utiliser une application tierce mais seulement une commande de Microsoft, « ForFiles ». L’idée est de mettre en place un petit script. Il lancera une recherche automatique des fichiers ayant dépassés une certaine date. Ensuite ils seront automatiquement effacés. Il faut juste savoir que selon le dossier a nettoyer, des privilèges d’administrateur peuvent aitre nécessaires.

Windows 10 et le PowerShell

La commande « ForFiles » est accessible directement en ligne de commande. En clair il faut ouvrir PowerShell (ou une invite de commande pour les anciennes versions de windows ) en mode administrateur. Pour cela tapez “PowerShell” dans le champ “Taper ici pour rechercher” de la barre des tâches” puis exécuter “PowerShell” en mode administrateur.

Dans notre exemple nous allons nous attaquer au répertoire Téléchargement (Downloads) situé dans “c:\Users\ « votre nom »\Downloads”. Notre cible est l’ensemble des fichiers ayant plus de 30 jours. Vous pouvez naturellement choisir une autre période.

Forfiles, beaucoup de possibilités

La commande en question est la suivante

ForFiles /p “C:\Users\ « votre nom »\Downloads” /s /d -30 /c “cmd /c del @file”

Le paramètre « /p » indique le chemin d’accès au répertoire concerné par l’action de ForFiles. « /s » précise que ForFiles dont agir dans le répertoire en question mais également dans tous ses sous répertoires. De son côté « / d » précise la date en jour et « @file » stipule que le nettoyage concerne tous les fichiers. Pour connaitre en détails toutes les possibilités de ForFiles, tapez “Forfiles /?“.

Il est possible de raccourcir cette commande. Il suffit seulement d’ouvrir le PowerShell directement dans le dossier en question. Cela évite d’indiquer le chemin d’accès soit “/p “C:\Users\ « votre nom »\Downloads”“.

C’est très simple. Allez dans le répertoire désiré au travers du gestionnaire de fichier puis en pressant la touche « MAJ » de votre clavier un simple clic droit de la souris vous donne accès à la commande « Ouvrir la fenêtre PowerShell ici »  (ou l’invite de commande si vous utilisez une ancienne version de Windows). A partir de là notre ligne de commande devient :

ForFiles / s / d -30 / c "cmd / c del @fichier"

Il existe plusieurs manière d’automatiser ce processus de nettoyage de chaque dossier. L’un des plus simples et de mettre en place dans le répertoire en question un petit script (un fichier .bat) avec les lignes suivantes

@Écho off
ForFiles / s / d -30 / c "cmd / c del @fichier"
fin

Vous pouvez également l’enregistrer sur le bureau en précisant par contre le chemin d’accès

@Écho off
ForFiles /p “C:\Users\ « votre nom »\Downloads” /s /d -30 /c “cmd /c del @file”
fin

A noter que le premier script efface tous les fichiers de plus de 30 jours et cela comprend le script lui-même dès son exécution. Attention la suppression concerne les fichiers dans le répertoire ou le .bat est enregistré.

N’hésitez pas à compléter cette astuce dans les commentaires en particulier du côté du script.

Jerome G

Issu d’une formation scientifique. Aime l'innovation, la High Tech et le développement durable. Soucieux du respect de la vie privée.

Voir commentaires

  • pour automatiser le tout, pourquoi ne pas ajouter un if qui créer un nouveau .bat à l'identique si celui de 30 jours doit être supprimé ?

Partager
Publié par
Jerome G

Article récent

Windows 11 et KB5036980, les problèmes se multiplient, Microsoft sort du silence

La mise à jour cumulative Windows 11 KB5036980 n’ajoute pas seulement de la publicité. Certaines… Lire d'avantage

28/04/2024

Week-end gamer, voici deux jeux vidéo gratuits

L’Epic Games Store offre cette semaine deux nouveaux jeux dont Industria. L’offre n’est pas à… Lire d'avantage

26/04/2024

Men of War II, date de sortie, nouvelle bande annonce et prix

Men of War II a désormais une date de sortie et un prix. A l’occasion… Lire d'avantage

26/04/2024

Dragon’s Dogma 2, une importante mise à jour se déploie, les faits marquants

Dragon’s Dogma 2 est la cible d’une mise à jour. Elle se déploie automatiquement à… Lire d'avantage

26/04/2024

Les pilotes graphiques AMD Software Adrenalin Edition 24.4.1 débarquent, quoi de neuf ?

Les pilotes graphiques Adrenalin 24.4.1 WHQL débarquent avec des optimisations Jour J, des améliorations de… Lire d'avantage

26/04/2024

La Radeon RX 7900 XTX dégringole à 849 $ et 979 € en France

La RX 7900 XTX passe sous la barre des 850 $. Elle incarne aujourd’hui le… Lire d'avantage

26/04/2024