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...
[Batch] Fichier .bat de nettoyage, optimisation Le sujet est résolu
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 :
.
Merci de votre compréhension et de votre contribution.
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.
-
titou
- Membre VIP +

- Messages : 1996
- Enregistré le : mer. 28 sept. 2011 15:22
- Localisation : france ardeche
- A remercié : 3 fois
- A été remercié : 6 fois
Re: [Batch] Fichier .bat de nettoyage, optimisation
Merci du retour rayman95 
J’ai modifier la fin du script pour un redémarrage plus visible
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 +

- Messages : 323
- Enregistré le : ven. 20 mars 2020 11:45
- A remercié : 96 fois
- A été remercié : 52 fois
Re: [Batch] Fichier .bat de nettoyage, optimisation
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
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 +

- Messages : 1996
- Enregistré le : mer. 28 sept. 2011 15:22
- Localisation : france ardeche
- A remercié : 3 fois
- A été remercié : 6 fois
Re: [Batch] Fichier .bat de nettoyage, optimisation
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..
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 !
