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.

Jérôme Gianoli

Aime l'innovation, le hardware, 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
Jérôme Gianoli

Article récent

Gigabyte dévoile avant l’annonce d’AMD la Radeon PRO W7800 AI TOP 48G

Gigabyte enrichit ses cartes graphiques professionnelles avec la Radeon PRO W7800 AI TOP 48G. Elle… Lire d'avantage

15/11/2024

Half Life 2 fête ses 20 ans, Nvidia dévoile Half Life 2 RTX

A l'occasion des 20 ans de Half-Life 2, NVIDIA s’est associé à Orbifold Studios pour… Lire d'avantage

15/11/2024

Windows 11 et KB5046633 : Un bug indique à tort une fin de support pour la version 23H2

La mise à jour Windows 11 KB5046633 introduit un bug perturbant. Suite à son installation… Lire d'avantage

15/11/2024

MSI lance discrètement la GeForce RTX 3050 VENTUS 2X XS BLANC 8G OC

La GeForce RTX 3050 est une carte graphique d’entrée de gamme et bien qu'elle soit… Lire d'avantage

15/11/2024

Tout savoir sur le programme Windows Insider de Microsoft

Depuis plusieurs années le programme Windows Insider donne rendez-vous aux fans de l'OS de Microsoft.… Lire d'avantage

15/11/2024

Ryzen 9 HX 370 Vs Core Ultra 7 258V, AMD annonce une avance de 75% en gaming

AMD a dévoilé des résultats intéressant autour de son processeur Ryzen AI 9 HX 370.… Lire d'avantage

15/11/2024