[Batch] Fichier .bat de nettoyage, optimisation Le sujet est résolu

Vous trouverez ici des scripts pour faciliter la gestion de votre ordinateur. Ils sont proposés tels quels par le rédacteur du message. La team ne vérifie pas la qualité de ces éléments et n'assure pas le support ni la maintenance. Vous les utilisez sous votre seule responsabilité.
Règles du forum
Pour les créateurs de scripts

Veuillez noter que les scripts que vous partagez ici sont proposés tels quels et la team ne vérifie pas leur qualité.
Nous vous rappelons que nous n'assurons ni le support ni la maintenance des scripts publiés.

Pour faciliter leur utilisation par les autres membres de la communauté, respectez ces consignes :
.
  • Utilisez les préfixes de langage pour taguer les messages.
  • Assurez-vous que vos scripts sont clairs et bien documentés
.
Merci de votre compréhension et de votre contribution.
Avatar du membre
rayman95
Modérateur
Modérateur
Messages : 1855
Enregistré le : mer. 9 déc. 2020 22:41
A remercié : 570 fois
A été remercié : 1166 fois
    Windows 10 Firefox

Re: [Batch] Fichier .bat de nettoyage, optimisation

Message par rayman95 »

viens de tester la V3, et ca fait le taff...
on a les questions O/N si on veut faire ou pas..y a le log a la fin..
peut-etre insister un peu pour le redemarrage a la fin..
bon boulot...
titou
Membre VIP +
Membre VIP +
Messages : 1996
Enregistré le : mer. 28 sept. 2011 15:22
Localisation : france ardeche
A remercié : 3 fois
A été remercié : 6 fois
    Linux Chrome

Re: [Batch] Fichier .bat de nettoyage, optimisation

Message par titou »

Merci du retour rayman95 😉

J’ai modifier la fin du script pour un redémarrage plus visible 👍
Le fossé séparant théorie et pratique est moins large en théorie qu’il ne l’est en pratique Toute demande de liens par MP est inutile !
Loic33
Membre VIP +
Membre VIP +
Messages : 323
Enregistré le : ven. 20 mars 2020 11:45
A remercié : 96 fois
A été remercié : 52 fois
    Windows 10 Firefox

Re: [Batch] Fichier .bat de nettoyage, optimisation

Message par Loic33 »

Bonjour

pour ma part j'ai demandé à Mistral de me realiser un fichier automatique de nettoyage après vidage de la corbeille

et voici le résultat

et ça fonctionne

@echo off
:: Script de nettoyage pour Windows 11 Pro
:: Ce script vide la corbeille, supprime les fichiers temporaires et nettoie les caches.

:: Vider la corbeille
echo [1/4] Vidage de la corbeille...
echo Y | powershell -command "Clear-RecycleBin -Force"

:: Supprimer les fichiers temporaires
echo [2/4] Suppression des fichiers temporaires...
del /q /f %temp%\*.* 2>nul

:: Supprimer les caches Windows
echo [3/4] Suppression des caches Windows...
del /q /f %windir%\Prefetch\*.* 2>nul
del /q /f %windir%\Temp\*.* 2>nul

:: Lancer l'outil de nettoyage de disque (cleanmgr)
echo [4/4] Lancement du nettoyeur de disque...
cleanmgr /sagerun:1

echo.
echo Nettoyage terminé avec succès !
pause


copier dans le bloc note
bouton droit executer en tant qu'administrateur et voilou !

Bonne journée
La liberté des uns s’arrête ou commence celle des autres
titou
Membre VIP +
Membre VIP +
Messages : 1996
Enregistré le : mer. 28 sept. 2011 15:22
Localisation : france ardeche
A remercié : 3 fois
A été remercié : 6 fois
    Android Chrome

Re: [Batch] Fichier .bat de nettoyage, optimisation

Message par titou »

Je comprends que tout le monde aime ou pas l’IA
Sinon c’est utile aussi
Tout est bon a prendre ;)
Le script est tres propre en syntaxe 👍
Et je pense que moi aussi, il y a des erreurs où oubli

Voici la différence avec le script ci dessous:

​1. L'absence d'élévation des droits (Le blocage silencieux)
​Dans le premier script : Le script est lancé avec les droits utilisateur standards.
​L'erreur : Les dossiers %windir%\Prefetch et %windir%\Temp appartiennent au système. Sans droits Administrateur, la commande del se heurte à un refus d'accès ("Accès refusé"). Comme vous aviez mis 2>nul (qui masque les erreurs), le script faisait semblant de réussir, mais en réalité, il ne supprimait rien du tout dans les dossiers Windows.
​La solution finale : L'ajout de la commande fsutil au tout début force le script à demander les droits Administrateur. Le nettoyage système peut enfin s'opérer.

​2. Le nettoyage incomplet (Le piège des sous-dossiers)
​Dans le premier script : Vous utilisez del /q /f %temp%\*.*.
​L'erreur : La commande del ne supprime que les fichiers. Elle ignore complètement les sous-dossiers. Sur un espace système limité, comme c'est le cas sur un SSD NVMe de 128 Go où chaque gigaoctet compte, c'est une faille majeure. Les logiciels (navigateurs, installeurs, outils Windows) créent des dossiers entiers dans %temp% qui restaient intacts à chaque passage du script.
​La solution finale : L'ajout de la boucle for /f ... dir /b /a:d permet de cibler et de détruire intégralement les répertoires et leurs arborescences.

​3. L'oubli des fichiers cachés et protégés
​Dans le premier script : L'attribut /a est absent de vos commandes del.
​L'erreur : De nombreux fichiers temporaires sont marqués comme "Cachés" ou "Système" par les applications qui les génèrent. La commande del classique passe purement et simplement par-dessus sans les effacer.
​La solution finale : L'ajout de /a force la lecture et la suppression de tous les fichiers, peu importe leurs attributs de protection.

​4. La lourdeur du vidage de la corbeille
​Dans le premier script : echo Y | powershell -command "Clear-RecycleBin -Force"
​L'erreur : Faire appel à PowerShell depuis un script Batch (.bat) est très lourd. Le système doit charger tout le moteur PowerShell juste pour vider une corbeille, ce qui ajoute un délai de 2 à 3 secondes à l'exécution. De plus, le echo Y | était redondant puisque le paramètre -Force indique déjà à PowerShell de ne pas demander de confirmation.
​La solution finale : La suppression native du dossier $Recycle.Bin sur toutes les lettres de lecteur (de A à Z) en langage Batch pur est instantanée (quelques millisecondes) et couvre simultanément le disque système et le disque de stockage

Le voici modifier, peut-être avec des oublis et des erreurs..

Code : Tout sélectionner

@echo off
setlocal EnableExtensions
chcp 65001 >nul
title Nettoyage Windows 11 Pro

:: Vérification et auto-élévation des droits Administrateur
fsutil dirty query %systemdrive% >nul 2>&1 || (powershell -NoProfile -Command "Start-Process '%~f0' -Verb RunAs" & exit /b)
cd /d "%~dp0"

echo ===================================================================
echo               NETTOYAGE AUTOMATIQUE WINDOWS 11
echo ===================================================================
echo.

:: [1/4] Vider la corbeille sur tous les disques (A à Z) en mode natif instantané
echo [1/4] Vidage de la corbeille...
for %%D in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
    if exist "%%D:\$Recycle.Bin" (
        rd /s /q "%%D:\$Recycle.Bin" 2>nul
    )
)

:: [2/4] Supprimer les fichiers temporaires en profondeur (inclus fichiers sans extension et cachés)
echo [2/4] Suppression des fichiers temporaires...
del /f /s /q /a "%temp%\*" 2>nul
for /f "delims=" %%D in ('dir /b /a:d "%temp%" 2^>nul') do rd /s /q "%temp%\%%D" 2>nul

:: [3/4] Supprimer les caches Windows (Prefetch et Temp système)
echo [3/4] Suppression des caches Windows...
del /f /s /q /a "%windir%\Prefetch\*" 2>nul
del /f /s /q /a "%windir%\Temp\*" 2>nul
for /f "delims=" %%D in ('dir /b /a:d "%windir%\Temp" 2^>nul') do rd /s /q "%windir%\Temp\%%D" 2>nul

:: [4/4] Lancer le nettoyeur de disque en attendant sa fin complète
echo [4/4] Lancement du nettoyeur de disque (veuillez patienter)...
start /wait cleanmgr /sagerun:1

echo.
echo ===================================================================
echo               Nettoyage terminé avec succès !
echo ===================================================================
echo.
pause

[Code/]
Le fossé séparant théorie et pratique est moins large en théorie qu’il ne l’est en pratique Toute demande de liens par MP est inutile !
Répondre