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/]