[Batch] Fichier .bat de Nettoyage, Optimisation Windows 11
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.
- rayman95
- Modérateur

- Messages : 1877
- Enregistré le : mer. 9 déc. 2020 22:41
- A remercié : 584 fois
- A été remercié : 1175 fois
Re: [Batch] Fichier .bat de nettoyage, optimisation
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...
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 +

- Messages : 2001
- Enregistré le : mer. 28 sept. 2011 15:22
- Localisation : france ardeche
- A remercié : 5 fois
- A été remercié : 11 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 : 325
- Enregistré le : ven. 20 mars 2020 11:45
- A remercié : 97 fois
- A été remercié : 56 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 : 2001
- Enregistré le : mer. 28 sept. 2011 15:22
- Localisation : france ardeche
- A remercié : 5 fois
- A été remercié : 11 fois
Re: [Batch] Fichier .bat de nettoyage, optimisation
Le script est tres propre en syntaxe 
Tout est bon a prendre
Edit 2 : grosse erreur dans mon script
Tout est bon a prendre
Edit 2 : grosse erreur dans mon script
Modifié en dernier par titou le mer. 12 août 2026 17:21, modifié 2 fois.
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 !
-
titou
- Membre VIP +

- Messages : 2001
- Enregistré le : mer. 28 sept. 2011 15:22
- Localisation : france ardeche
- A remercié : 5 fois
- A été remercié : 11 fois
Re: [Batch] Fichier .bat de nettoyage, optimisation
SCRIPT MASTER ULTIMATE v3.8 & RESTORE – GUIDE TECHNIQUE, OPTIMISATION & SÉCURITÉ (WINDOWS 10 & 11)
Bonjour à tous,
Voici la présentation détaillée de mon script de maintenance tout-en-un, conçu pour nettoyer en profondeur, booster et protéger Windows 10 et 11 (notamment contre la télémétrie agressive et les fonctionnalités d'IA non désirées comme Windows Recall).
Ce post détaille précisément sous le capot chaque action effectuée par le fichier batch afin que vous sachiez exactement ce qui est modifié sur votre système. Un script de restauration est également inclus pour tout annuler en cas de besoin.
DÉTAIL APPROFONDI DES 13 ÉTAPES DU SCRIPT PRINCIPAL :
LE SCRIPT DE RESTAURATION (RETOUR ARRIÈRE) :
Si une option ne vous convient pas ou si vous rencontrez un souci, le script compagnon (Script_Restore_Ultimate.bat) exécute les actions de réversibilité suivantes :
DÉTAIL TECHNIQUE DE L'EXÉCUTION DES SCRIPTS
SCRIPT 1 : CODE DU SCRIPT MASTER ULTIMATE v3.8 (.BAT) :
Un redémarrage de la machine est fortement conseillé après l'exécution de l'un ou l'autre des scripts pour que le système prenne en compte l'ensemble des modifications.
SCRIPT 2 : CODE DU SCRIPT DE RESTAURATION (Script_Restore_Ultimate.bat) :
Un redémarrage de la machine est fortement conseillé après l'exécution de l'un ou l'autre des scripts pour que le système prenne en compte l'ensemble des modifications.
Voici la méthode pas à pas, pour transformer le code texte des scripts fournis dans le post en de véritables fichiers exécutables sur votre PC Windows.
1. Ouvrir le Bloc-notes
Aucun logiciel complexe n'est requis :
Appuyez sur la touche Windows de votre clavier.
Tapez Bloc-notes et ouvrez l'application.
2. Écrire les commandes
Dans la page blanche, saisissez le script que vous souhaitez lancer.
3. Enregistrer avec l'extension .bat (TRÈS IMPORTANT)
C'est l'étape clé pour que Windows transforme votre texte en script :
Cliquez sur Fichier puis Enregistrer sous.
Dans le champ Nom de fichier, écrivez un nom suivi OBLIGATOIREMENT de l'extension .bat (ex : mon_script.bat).
Dans le menu déroulant Type, modifiez la sélection pour choisir Tous les fichiers (.) (cela évite que Windows n'ajoute secrètement un .txt à la fin).
Choisissez l'emplacement souhaité (le Bureau par exemple) et validez.
4. Exécuter votre script
Rendez-vous à l'emplacement de votre fichier et cliquez simplement sur Executer En Administrateur mon_script.bat pour lancer son exécution instantanée.
Redémarrez l'ordinateur pour la prise en compte du fichier
Bonjour à tous,
Voici la présentation détaillée de mon script de maintenance tout-en-un, conçu pour nettoyer en profondeur, booster et protéger Windows 10 et 11 (notamment contre la télémétrie agressive et les fonctionnalités d'IA non désirées comme Windows Recall).
Ce post détaille précisément sous le capot chaque action effectuée par le fichier batch afin que vous sachiez exactement ce qui est modifié sur votre système. Un script de restauration est également inclus pour tout annuler en cas de besoin.
- Création d'un point de restauration sécurisé :
Sous le capot : Active la fonction de restauration système si elle était désactivée (Enable-ComputerRestore), force la fréquence de création de points à zéro (SystemRestorePointCreationFrequency) et génère un point nommé Avant_Script_Ultimate_v3 via PowerShell pour garantir un filet de sécurité complet.
- Purge agressive des caches et réinitialisation réseau :
Sous le capot : Force l'arrêt des processus récalcitrants (Edge, Chrome, Windows Store), puis vide de manière combinée (del + rmdir) le dossier temporaire utilisateur (%temp%), le dossier Temp système, le dossier Prefetch de démarrage, le cache WER (rapports d'erreurs), les caches graphiques DirectX (D3DSCache), les caches des navigateurs et du Windows Store, ainsi que le cache des miniatures de l'Explorateur Windows (thumbcache_*.db). Enfin, il vide la Corbeille et réinitialise la pile réseau complète (ipconfig /flushdns, netsh winsock reset, netsh int ip reset).
- Nettoyage optionnel du cache des mises à jour (Windows Update) :
Sous le capot : Arrête les services wuauserv, bits et dosvc pour libérer les verrous, puis purge le contenu du dossier critique SoftwareDistribution\Download et du cache d'optimisation de livraison pour récupérer plusieurs gigaoctets d'espace disque.
- Nettoyage optionnel du Magasin de composants (DISM / WinSxS) :
Sous le capot : Exécute la commande native DISM /online /cleanup-image /startcomponentcleanup /resetbase. Cela supprime définitivement toutes les anciennes versions de fichiers système conservées lors des précédentes mises à jour cumulatives de Windows. Attention : cette action est irréversible et empêche de désinstaller les anciennes mises à jour Windows.
- Nettoyage avancé du stockage (Windows.old, Dumps & Pilotes) :
Sous le capot : S'approprie les droits de sécurité (takeown / icacls) pour éradiquer proprement un éventuel dossier résiduel Windows.old, supprime les fichiers de vidage mémoire de plantage (memory.dmp, minidumps) et utilise pnputil pour purger automatiquement les anciennes versions en double des pilotes OEM (oem*.inf) stockées dans le système.
- Purge des journaux d'événements Windows (Event Logs) :
Sous le capot : Parcourt l'ensemble des journaux d'événements du système via la commande wevtutil el et les vide un par un (wevtutil cl) pour effacer l'historique des connexions, alertes et erreurs enregistrées.
- Désinstallation sur-mesure des Bloatwares et Widgets (avec sauvegarde) :
Sous le capot : Avant toute suppression, le script exporte la liste complète de vos applications UWP installées dans un fichier de sauvegarde XML (AppxPackages_Backup.xml) placé sur le Bureau. Il désinstalle ensuite proprement (via Remove-AppxPackage et Remove-AppxProvisionedPackage) les applications préinstallées inutiles (Xbox, Jeux, Clipchamp, Spotify, Météo, Actualités, Cortana, Teams, etc.) tout en protégeant explicitement vos applications multimédias (Netflix, Disney+, etc.). Il désactive également les widgets et flux d'actualités de la barre des tâches via le registre (TaskbarDa).
- Nettoyage du Menu Démarrer et blocage des suggestions Bing :
Sous le capot : Efface l'historique des fichiers récents (%AppData%\Microsoft\Windows\Recent), supprime les listes de raccourcis automatiques et modifie le Registre (Start_TrackDocs, Start_TrackProgs) pour couper le suivi des documents et applications. Il neutralise aussi l'intégration des recherches Web Bing dans le champ de recherche du Menu Démarrer (DisableSearchBoxSuggestions).
- Désactivation des services superflus, télémétrie et Copilot :
Sous le capot : Modifie le type de démarrage des services lourds ou axés sur la collecte de données (DiagTrack, dmwappushservice, dps, WpcMonSvc, ScardSvr, RemoteRegistry, WalletService, PhoneSvc, TrkWks, MapsBroker) pour les passer en mode désactivé et stoppe leur exécution immédiate. Verrouille également l'assistant Copilot via les clés de stratégies de groupe (TurnOffWindowsCopilot).
- Application des règles de registre et désactivation des tâches planifiées :
Sous le capot : Applique des clés de registre strictes pour brider la télémétrie au niveau le plus bas (AllowTelemetry à 0), désactive l'identifiant publicitaire, la collecte de saisie vocale/textuelle et le suivi d'activité inter-appareils. Il désactive également en arrière-plan plus de 25 tâches planifiées intrusives liées au Programme d'amélioration de l'expérience utilisateur (CEIP), à l'expérience applicative (Compatibility Appraiser, ProgramDataUpdater) et aux diagnostics disque.
- Activation du raccourci moderne "Fin de tâche" :
Sous le capot : Active la clé de registre dédiée (TaskbarEndTask) qui permet de tuer instantanément une application plantée d'un simple clic droit sur son icône épinglée dans la barre des tâches, sans avoir à ouvrir le Gestionnaire des tâches.
- Neutralisation complète de l'infrastructure IA et de Windows Recall :
Sous le capot : Bloque l'ensemble des mécanismes liés à l'intelligence artificielle locale de Windows 11 : désactivation de l'analyse de données IA (DisableAIDataAnalysis), interdiction formelle d'enregistrer des captures d'écran de type Windows Recall (TurnOffSavingSnapshots, AllowRecallEnablement), neutralisation de la fonction Click to Do, bridage des fonctions génératives de Paint et du Bloc-notes (DisableCocreator, DisableGenerativeFill, DisableAIFeatures), et neutralisation du processus hôte d'IA via une redirection de débogueur dans le Registre.
- Analyse d'intégrité système SFC (Optionnelle) :
Sous le capot : Affiche un avertissement critique (recommandant de ne pas l'exécuter sur des versions de Windows modifiées/Lites/AtlasOS pour éviter de corrompre le système) puis lance la commande de vérification des fichiers intègres du système (SFC /scannow) si l'utilisateur valide l'étape.
Si une option ne vous convient pas ou si vous rencontrez un souci, le script compagnon (Script_Restore_Ultimate.bat) exécute les actions de réversibilité suivantes :
- [] Restauration Système : Lance directement l'utilitaire natif RSTRUI.exe pour vous permettre de sélectionner et appliquer le point de restauration créé (Avant_Script_Ultimate_v3).
[] Réinstallation des Bloatwares : Lit le fichier XML de sauvegarde (AppxPackages_Backup.xml) situé sur le Bureau pour réenregistrer et réinstaller proprement les applications d'origine si nécessaire via PowerShell (Add-AppxPackage).
[] Rétablissement des Services : Repasse l'ensemble des services désactivés en mode manuel ou automatique et les redémarre.
[] Réactivation des Tâches Planifiées : Remet en marche toutes les tâches de fond de télémétrie et de maintenance précédemment désactivées.
DÉTAIL TECHNIQUE DE L'EXÉCUTION DES SCRIPTS
- [] Sécurité et Droits : Vérification systématique des privilèges administrateur (net session) dès le lancement. Si l'utilisateur n'est pas admin, le script s'interrompt proprement avec un message d'alerte.
[] Horodatage des Logs : Génération d'un fichier journal unique sur le Bureau (ScriptUltimate_v3_[Date_Heure].log) dont le nommage utilise une commande PowerShell sécurisée insensible aux paramètres régionaux du système (yyyyMMdd_HHmmss). - Gestion des Flux : Redirection systématique des erreurs vers nul pour garder une interface claire en mode console, tout en consignant les opérations clés dans le fichier log.
Code : Tout sélectionner
@echo off
chcp 65001 >nul
:: ========================================================
:: SCRIPT MASTER ULTIMATE v3.8 - OPTIMISATION ET NETTOYAGE
:: Compatible Windows 10 et 11
:: ========================================================
COLOR 0A
TITLE Script Master Ultimate v3.8 - Optimisation ^& Nettoyage Windows
:: Verification des privileges Administrateur
net session >nul 2>&1
if %errorLevel% neq 0 (
echo [!] ERREUR : Ce script doit etre execute en tant qu'Administrateur.
echo Clic droit sur le fichier .bat -^> "Executer en tant qu'administrateur".
pause
exit /b
)
:: ----------------------------------------------------------------------------
:: INITIALISATION DU JOURNAL DE LOG (HORODATAGE SECURISE)
:: ----------------------------------------------------------------------------
for /f "tokens=*" %%a in ('powershell -NoProfile -ExecutionPolicy Bypass -Command "$ErrorActionPreference='SilentlyContinue'; Get-Date -Format 'yyyyMMdd_HHmmss'" 2^>nul') do set "LOGTIME=%%a"
if not defined LOGTIME set "LOGTIME=Maintenance"
set "LOGFILE=%USERPROFILE%\Desktop\ScriptUltimate_v3_%LOGTIME%.log"
echo ======================================================== > "%LOGFILE%"
echo SCRIPT MASTER ULTIMATE v3.8 - LOG DE MAINTENANCE >> "%LOGFILE%"
echo Demarre le %date% a %time% >> "%LOGFILE%"
echo ======================================================== >> "%LOGFILE%"
echo ============================================================================
echo SCRIPT MASTER ULTIMATE v3.8 - MAINTENANCE COMPLETE WINDOWS
echo ============================================================================
echo.
echo Ce script va appliquer les actions suivantes :
echo - 1. Creation d'un point de restauration systeme de securite
echo - 2. Purge des caches (Temp, Prefetch, WER, Edge, Chrome, DNS, Reseau)
echo - 3. Nettoyage optionnel du cache Windows Update (Choix utilisateur)
echo - 4. Nettoyage optionnel du magasin DISM / WinSxS (Choix utilisateur)
echo - 5. Nettoyage avance du stockage (Windows.old, Crash Dumps, Pilotes OEM)
echo - 6. Purge des journaux d'evenements Windows (Event Logs)
echo - 7. Suppression optionnelle des Widgets, Meteo et Bloatwares
echo - 8. Nettoyage optionnel du Menu Demarrer et des suggestions Bing
echo - 9. Desactivation des services superflus, telemetrie et Copilot
echo - 10. Application des regles de registre et taches planifiees
echo - 11. Activation du raccourci "Fin de tache" sur la barre des taches
echo - 12. Blocage de l'infrastructure IA et Windows Recall
echo - 13. Analyse d'integrite systeme SFC (Optionnelle)
echo.
echo [LOG] Fichier journal cree sur le Bureau : %LOGFILE%
echo.
pause
:: ----------------------------------------------------------------------------
:: 1. CREATION D'UN POINT DE RESTAURATION SYSTEME (SECURITE)
:: ----------------------------------------------------------------------------
echo.
echo [1/13] Creation d'un point de restauration systeme...
echo [1/13] Creation du point de restauration systeme... >> "%LOGFILE%"
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore" /v "SystemRestorePointCreationFrequency" /t REG_DWORD /d 0 /f >nul 2>&1
powershell -NoProfile -ExecutionPolicy Bypass -Command "$ErrorActionPreference='SilentlyContinue'; Enable-ComputerRestore -Drive 'C:'; Checkpoint-Computer -Description 'Avant_Script_Ultimate_v3' -RestorePointType 'MODIFY_SETTINGS'" >nul 2>&1
echo [OK] Point de restauration cree ou tente.
echo [OK] Point de restauration termine. >> "%LOGFILE%"
:: ----------------------------------------------------------------------------
:: 2. NETTOYAGE APPROFONDI DES FICHIERS TEMPORAIRES, CACHES ET RESEAU
:: ----------------------------------------------------------------------------
echo.
echo [2/13] Nettoyage des fichiers temporaires, caches et reinitialisation reseau...
echo [2/13] Purge des fichiers temporaires, caches et reseau... >> "%LOGFILE%"
taskkill /F /IM msedge.exe >nul 2>&1
taskkill /F /IM chrome.exe >nul 2>&1
taskkill /F /IM WinStore.App.exe >nul 2>&1
taskkill /F /IM Microsoft.WindowsStore.exe >nul 2>&1
del /s /f /q "%temp%\*.*" >nul 2>&1
for /d %%i in ("%temp%\*") do rmdir /s /q "%%i" >nul 2>&1
del /s /f /q "%SystemRoot%\Temp\*.*" >nul 2>&1
for /d %%i in ("%SystemRoot%\Temp\*") do rmdir /s /q "%%i" >nul 2>&1
del /s /f /q "%SystemRoot%\Prefetch\*.*" >nul 2>&1
for /d %%i in ("%SystemRoot%\Prefetch\*") do rmdir /s /q "%%i" >nul 2>&1
del /s /f /q "%SystemRoot%\Logs\CBS\*.*" >nul 2>&1
del /s /f /q "%ProgramData%\Microsoft\Windows\WER\*.*" >nul 2>&1
del /s /f /q "%LOCALAPPDATA%\D3DSCache\*.*" >nul 2>&1
del /s /f /q "%LOCALAPPDATA%\Microsoft\Edge\User Data\Default\Cache\*.*" >nul 2>&1
powershell -NoProfile -ExecutionPolicy Bypass -Command "$ErrorActionPreference='SilentlyContinue'; $p = $env:LOCALAPPDATA + '\Google\Chrome\User Data\*\Cache\*'; Remove-Item -Path $p -Recurse -Force" >nul 2>&1
del /s /f /q "%LOCALAPPDATA%\Packages\Microsoft.WindowsStore_8wekyb3d8bbwe\LocalCache\*.*" >nul 2>&1
taskkill /f /im explorer.exe >nul 2>&1
timeout /t 1 >nul
del /f /q /s "%LocalAppData%\Microsoft\Windows\Explorer\thumbcache_*.db" >nul 2>&1
start explorer.exe >nul 2>&1
ipconfig /flushdns >nul 2>&1
netsh winsock reset >nul 2>&1
netsh int ip reset >nul 2>&1
powershell -NoProfile -ExecutionPolicy Bypass -Command "$ErrorActionPreference='SilentlyContinue'; Clear-RecycleBin -Force" >nul 2>&1
echo [OK] Fichiers temporaires, caches et pile reseau purges.
echo [OK] Purge temporaires, caches et reseau terminee. >> "%LOGFILE%"
:: ----------------------------------------------------------------------------
:: 3. NETTOYAGE OPTIONNEL DES MISES A JOUR WINDOWS (CHOIX UTILISATEUR)
:: ----------------------------------------------------------------------------
echo.
echo [3/13] Nettoyage du cache des mises a jour Windows Update...
echo Ce nettoyage supprime les anciens fichiers de mise a jour (SoftwareDistribution)
echo et le cache P2P pour liberer plusieurs gigaoctets.
echo.
:demande_wu
set "choix_wu="
set /p choix_wu="Voulez-vous nettoyer le cache des mises a jour Windows ? (O/N) : "
if /i "%choix_wu:~0,1%"=="O" goto exec_wu
if /i "%choix_wu:~0,1%"=="N" goto skip_wu
echo [!] Choix invalide. Veuillez repondre par O ou N.
goto demande_wu
:exec_wu
echo.
echo Nettoyage du cache Windows Update en cours (Arret des services, suppression, redemarrage)...
echo [3/13] Execution du nettoyage Windows Update... >> "%LOGFILE%"
powershell -NoProfile -ExecutionPolicy Bypass -Command "$ErrorActionPreference='SilentlyContinue'; Stop-Service wuauserv, bits, dosvc -Force; $p1 = $env:SystemRoot + '\SoftwareDistribution\Download\*'; $p2 = $env:SystemRoot + '\ServiceProfiles\NetworkService\AppData\Local\Microsoft\Windows\DeliveryOptimization\Cache\*'; Remove-Item -Path $p1 -Recurse -Force; Remove-Item -Path $p2 -Recurse -Force; Start-Service dosvc, bits, wuauserv" >nul 2>&1
echo [OK] Cache des mises a jour Windows purge avec succes.
echo [OK] Cache Windows Update purge. >> "%LOGFILE%"
goto suite_section_4
:skip_wu
echo.
echo [INFO] Nettoyage du cache Windows Update ignore par l'utilisateur.
echo [INFO] Nettoyage Windows Update ignore. >> "%LOGFILE%"
:suite_section_4
:: ----------------------------------------------------------------------------
:: 4. NETTOYAGE OPTIONNEL DU MAGASIN DE COMPOSANTS (DISM / WINSXS)
:: ----------------------------------------------------------------------------
echo.
echo [4/13] Nettoyage du magasin de composants (WinSxS)...
echo.
echo ============================================================================
echo /!\ AVERTISSEMENT IMPORTANT - MAGASIN DE COMPOSANTS (WINSXS) : /!\
echo ============================================================================
echo EN ACCEPTANT CE NETTOYAGE (CHOIX O) :
echo TOUTES LES ANCIENNES VERSIONS DE FICHIERS SYSTEME CONSERVEES LORS DES
echo PRECEDENTES MISES A JOUR WINDOWS SONT SUPPRIMEES DU DISQUE.
echo.
echo - GAIN D'ESPACE : LIBERE ENTRE 2 GO ET 8 GO SUR LE DISQUE C:
echo - CONSEQUENCE : IMPOSSIBLE DE DESINSTALLER LES MISES A JOUR WINDOWS ACTUELLES.
echo ============================================================================
echo.
:demande_dism
set "choix_dism="
set /p choix_dism="Voulez-vous nettoyer le magasin de composants WinSxS ? (O/N) : "
if /i "%choix_dism:~0,1%"=="O" goto exec_dism
if /i "%choix_dism:~0,1%"=="N" goto skip_dism
echo [!] Choix invalide. Veuillez repondre par O ou N.
goto demande_dism
:exec_dism
echo.
echo Nettoyage du magasin de composants DISM en cours (patientez quelques minutes)...
echo [4/13] Execution de DISM /startcomponentcleanup /resetbase... >> "%LOGFILE%"
dism.exe /online /cleanup-image /startcomponentcleanup /resetbase > "%TEMP%\dism_output.tmp" 2>&1
powershell -NoProfile -ExecutionPolicy Bypass -Command "$ErrorActionPreference='SilentlyContinue'; $f = $env:TEMP + '\dism_output.tmp'; $l = $env:LOGFILE; if (Test-Path $f) { Get-Content $f | Where-Object { $_ -notmatch '%%' -and $_ -notmatch '===' -and $_.Trim() -ne '' } | Out-File -FilePath $l -Append -Encoding utf8; Remove-Item $f -Force }" >nul 2>&1
echo [OK] Magasin de composants WinSxS nettoye avec succes.
echo [OK] DISM termine. >> "%LOGFILE%"
goto suite_section_5
:skip_dism
echo.
echo [INFO] Nettoyage DISM ignore par l'utilisateur.
echo [INFO] Nettoyage DISM ignore. >> "%LOGFILE%"
:suite_section_5
:: ----------------------------------------------------------------------------
:: 5. NETTOYAGE AVANCÉ DU STOCKAGE (WINDOWS.OLD, CRASH DUMPS & DRIVER STORE)
:: ----------------------------------------------------------------------------
echo.
echo [5/13] Nettoyage avance du stockage (Windows.old, Crash Dumps, Pilotes OEM)...
echo [5/13] Nettoyage avance du stockage... >> "%LOGFILE%"
if exist "%SystemDrive%\Windows.old" (
echo [*] Suppression du dossier Windows.old en cours...
takeown /F "%SystemDrive%\Windows.old" /A /R /D Y >nul 2>&1
icacls "%SystemDrive%\Windows.old" /T /grant Administrators:F >nul 2>&1
rmdir /S /Q "%SystemDrive%\Windows.old" >nul 2>&1
)
del /F /S /Q "%SystemRoot%\memory.dmp" >nul 2>&1
del /F /S /Q "%SystemRoot%\Minidump\*.*" >nul 2>&1
del /F /S /Q "%LOCALAPPDATA%\CrashDumps\*.*" >nul 2>&1
powershell -NoProfile -ExecutionPolicy Bypass -Command "$ErrorActionPreference='SilentlyContinue'; $drivers = Get-WindowsDriver -Online -All | Where-Object { $_.Driver -like 'oem*.inf' }; $groups = $drivers | Group-Object -Property OriginalFileName | Where-Object { $_.Count -gt 1 }; foreach ($group in $groups) { $oldDrivers = $group.Group | Sort-Object -Property Date -Descending | Select-Object -Skip 1; foreach ($drv in $oldDrivers) { pnputil.exe /delete-driver $drv.Driver /uninstall /force >$null } }" >nul 2>&1
echo [OK] Nettoyage avance du stockage termine.
echo [OK] Nettoyage avance stockage termine. >> "%LOGFILE%"
:: ----------------------------------------------------------------------------
:: 6. PURGE DES JOURNAUX D'EVENEMENTS WINDOWS (EVENT LOGS)
:: ----------------------------------------------------------------------------
echo.
echo [6/13] Purge des journaux d'evenements Windows...
echo [6/13] Purge des journaux d'evenements... >> "%LOGFILE%"
for /f "tokens=*" %%g in ('wevtutil el 2^>nul') do wevtutil cl "%%g" >nul 2>&1
echo [OK] Journaux d'evenements purges.
echo [OK] Event logs purges. >> "%LOGFILE%"
:: ----------------------------------------------------------------------------
:: 7. SUPPRESSION DES WIDGETS ET BLOATWARES (AVEC EXCLUSIONS)
:: ----------------------------------------------------------------------------
echo.
echo [7/13] Gestion des widgets, meteo/actualites et bloatware...
echo.
echo ============================================================================
echo /!\ ATTENTION - APPLICATIONS ET COMPOSANTS QUI SERONT SUPPRIMEES : /!\
echo ============================================================================
echo - Widgets Windows, Meteo/Actualites de la barre des taches, Copilot, Cortana
echo - Xbox Apps, Solitaire, Clipchamp, Spotify, Films ^& TV, Lecteur Média
echo - Courrier/Calendrier, Nouvel Outlook, Teams, Liens avec Windows, Office Hub
echo - To Do, Power Automate, Skype, OneNote, Météo, Actualités, Bourse, Sports
echo - Hub de commentaires, Obtenir de l'aide, Astuces, Contacts, Cartes, Caméra
echo - Enregistreur vocal, Visionneuse 3D, Pense-bête
echo - TikTok, LinkedIn, Candy Crush
echo.
echo /!\ APPLICATIONS CONSERVEES (EXCLUSIONS) : /!\
echo - Disney+, Instagram, Facebook, Netflix, Prime Video, Capture d'écran
echo ============================================================================
echo.
:demande_bloat
set "choix_bloat="
set /p choix_bloat="Voulez-vous executer ce nettoyage sur-mesure ? (O/N) : "
if /i "%choix_bloat:~0,1%"=="O" goto exec_bloat
if /i "%choix_bloat:~0,1%"=="N" goto skip_bloat
echo [!] Choix invalide. Veuillez repondre par O ou N.
goto demande_bloat
:exec_bloat
echo.
echo [7/13] Suppression sur-mesure des bloatwares, widgets et meteo... >> "%LOGFILE%"
echo Sauvegarde de la liste des paquets et nettoyage en cours...
set "BACKUP_DIR=%USERPROFILE%\Desktop\Bloatware_Backup"
mkdir "%BACKUP_DIR%" 2>nul
powershell -NoProfile -ExecutionPolicy Bypass -Command "$ErrorActionPreference='SilentlyContinue'; Get-AppxPackage -AllUsers | Select-Object Name, PackageFullName | Export-Clixml -Path '%BACKUP_DIR%\AppxPackages_Backup.xml'" >nul 2>&1
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SilentInstalledAppsEnabled" /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "ContentDeliveryAllowed" /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "OemPreInstalledAppsEnabled" /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Feeds" /v "ShellFeedsTaskbarViewMode" /t REG_DWORD /d 2 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Policies\Microsoft\Dsh" /v "AllowNewsAndInterests" /t REG_DWORD /d 0 /f >nul 2>&1
where winget >nul 2>&1
if %errorlevel% equ 0 (
winget uninstall --id 9NKSQGP7F2NH --accept-source-agreements --silent >nul 2>&1
)
powershell -NoProfile -ExecutionPolicy Bypass -Command "$ErrorActionPreference='SilentlyContinue'; $bloat = @('Microsoft.549981F6DA107', 'Microsoft.Copilot', 'Microsoft.GamingApp', 'Microsoft.XboxApp', 'Microsoft.XboxGamingOverlay', 'Microsoft.XboxIdentityProvider', 'Microsoft.XboxSpeechToTextOverlay', 'Microsoft.MicrosoftSolitaireCollection', 'Clipchamp.Clipchamp', 'SpotifyAB.SpotifyMusic', 'Microsoft.ZuneVideo', 'Microsoft.ZuneMusic', 'microsoft.windowscommunicationsapps', 'Microsoft.OutlookForWindows', 'MicrosoftTeams', 'MSTeams', 'Microsoft.YourPhone', 'Microsoft.MicrosoftOfficeHub', 'Microsoft.Todos', 'Microsoft.PowerAutomateDesktop', 'Microsoft.SkypeApp', 'Microsoft.Office.OneNote', 'Microsoft.BingWeather', 'Microsoft.BingNews', 'Microsoft.BingFinance', 'Microsoft.BingSports', 'Microsoft.WindowsFeedbackHub', 'Microsoft.GetHelp', 'Microsoft.Getstarted', 'Microsoft.People', 'Microsoft.WindowsMaps', 'Microsoft.WindowsCamera', 'Microsoft.WindowsSoundRecorder', 'Microsoft.SoundRecorder', 'Microsoft.3DViewer', 'Microsoft.Print3D', 'Microsoft.MicrosoftStickyNotes', 'TikTok', 'LinkedIn', 'CandyCrush'); foreach ($app in $bloat) { $pattern = '*' + $app + '*'; Get-AppxPackage -Name $pattern -AllUsers | Remove-AppxPackage -AllUsers; Get-AppxProvisionedPackage -Online | Where-Object { $_.DisplayName -like $pattern } | Remove-AppxProvisionedPackage -Online }" >nul 2>&1
echo [OK] Nettoyage effectue. Widgets et meteo desactives.
echo [OK] Bloatwares et Widgets nettoyes. >> "%LOGFILE%"
goto suite_section_8
:skip_bloat
echo.
echo [INFO] Suppression des bloatwares ignoree par l'utilisateur.
echo [INFO] Suppression bloatwares ignoree. >> "%LOGFILE%"
:suite_section_8
:: ----------------------------------------------------------------------------
:: 8. NETTOYAGE OPTIONNEL ET DESACTIVATION DES RECOMMANDATIONS (MENU DEMARRER)
:: ----------------------------------------------------------------------------
echo.
echo [8/13] Gestion du Menu Demarrer, historique et recherche Bing...
echo.
echo ============================================================================
echo /!\ ATTENTION - LISTE DES ACTIONS POUR LE MENU DEMARRER : /!\
echo ============================================================================
echo - Purge complete de l'historique des fichiers recents
echo - Suppression des raccourcis d'acces rapide (Destinations automatiques)
echo - Desactivation du suivi des documents recents (Registre)
echo - Desactivation du suivi des programmes recents (Registre)
echo - Suppression des recommandations et suggestions du Menu Demarrer
echo - Desactivation des recherches Web Bing integrees au Menu Demarrer
echo ============================================================================
echo.
:demande_start
set "choix_start="
set /p choix_start="Voulez-vous nettoyer l'historique et bloquer Bing/Recommandations ? (O/N) : "
if /i "%choix_start:~0,1%"=="O" goto exec_start
if /i "%choix_start:~0,1%"=="N" goto skip_start
echo [!] Choix invalide. Veuillez repondre par O ou N.
goto demande_start
:exec_start
echo.
echo Nettoyage de l'historique et des recommandations en cours...
echo [8/13] Nettoyage menu Demarrer... >> "%LOGFILE%"
del /f /q /s /a "%AppData%\Microsoft\Windows\Recent\*.*" >nul 2>&1
del /s /f /q /a "%AppData%\Microsoft\Windows\Recent\AutomaticDestinations\*.*" >nul 2>&1
del /s /f /q /a "%AppData%\Microsoft\Windows\Recent\CustomDestinations\*.*" >nul 2>&1
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "Start_TrackDocs" /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "Start_TrackProgs" /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338388EntireMenuString" /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKCU\Software\Policies\Microsoft\Windows\Explorer" /v "DisableSearchBoxSuggestions" /t REG_DWORD /d 1 /f >nul 2>&1
echo [OK] Recommandations du menu Demarrer et recherche Bing desactivees.
echo [OK] Menu Demarrer nettoye. >> "%LOGFILE%"
goto suite_section_9
:skip_start
echo.
echo [INFO] Nettoyage du menu Demarrer ignore par l'utilisateur.
echo [INFO] Nettoyage menu Demarrer ignore. >> "%LOGFILE%"
:suite_section_9
:: ----------------------------------------------------------------------------
:: 9. DESACTIVATION DES SERVICES WINDOWS INUTILES, TELEMETRIE ET COPILOT
:: ----------------------------------------------------------------------------
echo.
echo [9/13] Desactivation des services inutiles, telemetrie et Copilot...
echo [9/13] Desactivation des services telemetrie... >> "%LOGFILE%"
for %%s in (DiagTrack dmwappushservice dps WpcMonSvc ScardSvr RemoteRegistry WalletService PhoneSvc TrkWks MapsBroker) do (
sc query %%s >nul 2>&1 && (
sc config %%s start= disabled >nul 2>&1
net stop %%s >nul 2>&1
echo Service %%s desactive. >> "%LOGFILE%"
)
)
sc query stisvc >nul 2>&1 && (
sc config stisvc start= demand >nul 2>&1
)
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsCopilot" /v "TurnOffWindowsCopilot" /t REG_DWORD /d 1 /f >nul 2>&1
reg add "HKCU\Software\Policies\Microsoft\Windows\WindowsCopilot" /v "TurnOffWindowsCopilot" /t REG_DWORD /d 1 /f >nul 2>&1
echo [OK] Services secondaires, telemetrie et Copilot verrouilles.
echo [OK] Services traites. >> "%LOGFILE%"
:: ----------------------------------------------------------------------------
:: 10. REGISTRE ET TACHES PLANIFIEES : PERFORMANCES ET ANTI-TRAQUEURS
:: ----------------------------------------------------------------------------
echo.
echo [10/13] Application des regles de registre et desactivation des taches de suivi...
echo [10/13] Application regles de registre et taches... >> "%LOGFILE%"
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\DataCollection" /v "AllowTelemetry" /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\DataCollection" /v "AllowDeviceNameInTelemetry" /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo" /v "Enabled" /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Policies\Microsoft\InputPersonalization" /v "RestrictImplicitTextCollection" /t REG_DWORD /d 1 /f >nul 2>&1
reg add "HKCU\Software\Microsoft\InputPersonalization\TrainedDataStore" /v "HarvestContacts" /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKCU\Software\Microsoft\Personalization\Settings" /v "AcceptedPrivacyPolicy" /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\System" /v "EnableActivityFeed" /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\System" /v "PublishUserActivities" /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\System" /v "UploadUserActivities" /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\System" /v "ContinueOnThisDevice" /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\LocationAndSensors" /v "DisableLocation" /t REG_DWORD /d 1 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Error Reporting" /v "Disabled" /t REG_DWORD /d 1 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "MetricsReportingEnabled" /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v "AllowCortana" /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Search" /v "BingSearchEnabled" /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKCU\Control Panel\Desktop" /v "MenuShowDelay" /t REG_SZ /d "100" /f >nul 2>&1
reg add "HKCU\Control Panel\Desktop" /v "WaitToKillAppTimeout" /t REG_SZ /d "2000" /f >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser" /DISABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Application Experience\ProgramDataUpdater" /DISABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Application Experience\StartupAppTask" /DISABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Application Experience\AitAgent" /DISABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Application Experience\PcaPatchDbTask" /DISABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Customer Experience Improvement Program\Consolidator" /DISABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Customer Experience Improvement Program\UsbCeip" /DISABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Customer Experience Improvement Program\KernelCeipTask" /DISABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Customer Experience Improvement Program\BthSQM" /DISABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Feedback\Siuf\DmClient" /DISABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Feedback\Siuf\DmClientOnScenarioDownload" /DISABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\DiskDiagnostic\Microsoft-Windows-DiskDiagnosticDataCollector" /DISABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Power Efficiency Diagnostics\AnalyzeSystem" /DISABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\NetTrace\GatherNetworkInfo" /DISABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Device Information\Device" /DISABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Device Information\Device User" /DISABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Autochk\Proxy" /DISABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Maps\MapsUpdateTask" /DISABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Maps\MapsToastTask" /DISABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Windows Error Reporting\ReportWer" /DISABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Shell\FamilySafetyMonitor" /DISABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Shell\FamilySafetyRefreshTask" /DISABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Office\OfficeTelemetryAgentFallBack" /DISABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Office\OfficeTelemetryAgentLogOn" /DISABLE >nul 2>&1
echo [OK] Regles de registre et taches planifiees configurees.
echo [OK] Registre et taches mis a jour. >> "%LOGFILE%"
:: ----------------------------------------------------------------------------
:: 11. ACTIVATION DU RACCOURCI "FIN DE TÂCHE" SUR LA BARRE DES TÂCHES
:: ----------------------------------------------------------------------------
echo.
echo [11/13] Activation du raccourci "Fin de tache" sur la barre des taches...
echo [11/13] Activation Fin de tache... >> "%LOGFILE%"
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\TaskbarDeveloperSettings" /v "TaskbarEndTask" /t REG_DWORD /d 1 /f >nul 2>&1
echo [OK] Raccourci "Fin de tache" active.
echo [OK] Fin de tache activee. >> "%LOGFILE%"
:: ----------------------------------------------------------------------------
:: 12. BLOCAGE DE L'INFRASTRUCTURE IA & WINDOWS RECALL
:: ----------------------------------------------------------------------------
echo.
echo [12/13] Blocage de l'infrastructure IA et Windows Recall...
echo [12/13] Blocage IA et Recall... >> "%LOGFILE%"
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsAI" /v "DisableAIDataAnalysis" /t REG_DWORD /d 1 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsAI" /v "TurnOffSavingSnapshots" /t REG_DWORD /d 1 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsAI" /v "AllowRecallEnablement" /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsAI" /v "DisableClickToDo" /t REG_DWORD /d 1 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsAI" /v "DisableSettingsAgent" /t REG_DWORD /d 1 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsCopilot" /v "TurnOffWindowsCopilot" /t REG_DWORD /d 1 /f >nul 2>&1
reg add "HKCU\Software\Microsoft\Paint" /v "DisableCocreator" /t REG_DWORD /d 1 /f >nul 2>&1
reg add "HKCU\Software\Microsoft\Paint" /v "DisableGenerativeFill" /t REG_DWORD /d 1 /f >nul 2>&1
reg add "HKCU\Software\Microsoft\Notepad" /v "DisableAIFeatures" /t REG_DWORD /d 1 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\WorkloadsSessionHost.exe" /v "Debugger" /t REG_SZ /d "systray.exe" /f >nul 2>&1
powershell -NoProfile -ExecutionPolicy Bypass -Command "$ErrorActionPreference='SilentlyContinue'; Disable-WindowsOptionalFeature -Online -FeatureName 'Recall' -Remove" >nul 2>&1
echo [OK] Infrastructure IA et Windows Recall bloques.
echo [OK] Blocage IA et Recall effectue. >> "%LOGFILE%"
:: ----------------------------------------------------------------------------
:: 13. DETECTION DE LA VERSION WINDOWS ET ANALYSE D'INTEGRITE (SFC)
:: ----------------------------------------------------------------------------
echo.
echo [13/13] Analyse de l'integrite du systeme (SFC)...
for /f "tokens=*" %%a in ('powershell -NoProfile -ExecutionPolicy Bypass -Command "$ErrorActionPreference='SilentlyContinue'; (Get-CimInstance Win32_OperatingSystem).Caption" 2^>nul') do set "WIN_NAME=%%a"
if "%WIN_NAME%"=="" set "WIN_NAME=Microsoft Windows"
echo.
echo ============================================================================
echo /!\ AVERTISSEMENT IMPORTANT /!\
echo ============================================================================
echo Systeme detecte : %WIN_NAME%
echo.
echo POUR LES VERSIONS WINDOWS MODIFIEES (UNA, LITE, REVIOS, ATLAS, ETC.) :
echo LA VERIFICATION D'INTEGRITE (SFC OU DISM) EST FORTEMENT DECONSEILLEE !
echo EN PRATIQUE, CELA RISQUE DE DEGRADER LE SYSTEME AU LIEU DE LE REPARER.
echo ============================================================================
echo.
:demande_sfc
set "choix_sfc="
set /p choix_sfc="Voulez-vous quand meme executer cette analyse ? (O/N) : "
if /i "%choix_sfc:~0,1%"=="O" goto exec_sfc
if /i "%choix_sfc:~0,1%"=="N" goto skip_sfc
echo [!] Choix invalide. Veuillez repondre par O ou N.
goto demande_sfc
:exec_sfc
echo.
echo Analyse SFC en cours, veuillez patienter...
echo [13/13] Execution de SFC /scannow... >> "%LOGFILE%"
powershell -NoProfile -ExecutionPolicy Bypass -Command "$lastPct = -1; $log = $env:LOGFILE; $psi = New-Object System.Diagnostics.ProcessStartInfo; $psi.FileName = 'sfc.exe'; $psi.Arguments = '/scannow'; $psi.UseShellExecute = $false; $psi.RedirectStandardOutput = $true; $psi.StandardOutputEncoding = [System.Text.Encoding]::Unicode; $proc = [System.Diagnostics.Process]::Start($psi); while (-not $proc.StandardOutput.EndOfStream) { $line = $proc.StandardOutput.ReadLine(); if ($line -match '(\d+)\s*%%') { $pct = [int]$matches[1]; if ($pct %% 20 -eq 0 -and $pct -ne $lastPct) { Write-Host $line; if ($log) { Add-Content -Path $log -Value $line -ErrorAction SilentlyContinue }; $lastPct = $pct } } elseif ($line.Trim() -ne '') { Write-Host $line; if ($log) { Add-Content -Path $log -Value $line -ErrorAction SilentlyContinue } } }; $proc.WaitForExit();"
echo [OK] Analyse SFC terminee.
goto suite_fin
:skip_sfc
echo.
echo [INFO] Analyse SFC ignoree par l'utilisateur.
echo [INFO] Analyse SFC ignoree. >> "%LOGFILE%"
:suite_fin
taskkill /f /im explorer.exe >nul 2>&1
timeout /t 1 >nul
start explorer.exe >nul 2>&1
echo.
echo ============================================================================
echo Votre systeme est nettoye, decharge des bloatwares et optimise.
echo Journal d'execution : %LOGFILE%
echo REDEMARRER LA MACHINE POUR LA PRISE EN COMPTE DES OPTIMISATIONS !
echo ============================================================================
echo Script termine le %date% a %time% >> "%LOGFILE%"
echo.
pause
Un redémarrage de la machine est fortement conseillé après l'exécution de l'un ou l'autre des scripts pour que le système prenne en compte l'ensemble des modifications.
Code : Tout sélectionner
@echo off
chcp 65001 >nul
:: ========================================================
:: SCRIPT RESTORE ULTIMATE - RETOUR ARRIERE ET REPARATION
:: ========================================================
COLOR 0B
TITLE Script Restore Ultimate - Restauration Systeme
:: Verification des privileges Administrateur
net session >nul 2>&1
if %errorLevel% neq 0 (
echo [!] ERREUR : Ce script doit etre execute en tant qu'Administrateur.
echo Clic droit sur le fichier .bat -> "Executer en tant qu'administrateur".
pause
exit /b
)
echo ============================================================================
echo SCRIPT RESTORE ULTIMATE - OPTIONS DE RESTAURATION
echo ============================================================================
echo.
echo Ce script permet de reparer ou restaurer le systeme suite au nettoyage :
echo - 1. Lancer l'assistant de Restauration du Systeme (Point "Avant_Script_Ultimate_v3")
echo - 2. Reinstaller les applications supprimees via le fichier XML de sauvegarde
echo - 3. Reactiver les services Windows deplaces en mode desactive
echo - 4. Reactiver les taches planifiees de telemetrie/maintenance
echo.
pause
:: ----------------------------------------------------------------------------
:: 1. LANCEMENT DE LA RESTAURATION SYSTEME (REGISTRE, SERVICES, FICHIERS SYSTEME)
:: ----------------------------------------------------------------------------
echo.
echo [1/4] Lancement de l'utilitaire de Restauration du Systeme (RSTRUI)...
echo Selectionnez de preference le point nomme "Avant_Script_Ultimate_v3".
echo.
start "" rstrui.exe
echo [OK] Utilitaire de restauration lance.
echo.
pause
:: ----------------------------------------------------------------------------
:: 2. REINSTALLATION DES APPS A PARTIR DU SAUVETAGE XML (BLOATWARES)
:: ----------------------------------------------------------------------------
echo.
echo [2/4] Verification d'une sauvegarde d'applications (AppxPackages_Backup.xml)...
set "BACKUP_FILE=%USERPROFILE%\Desktop\Bloatware_Backup\AppxPackages_Backup.xml"
if exist "%BACKUP_FILE%" (
echo [+] Sauvegarde trouvee sur le Bureau. Voulez-vous reinstaller les applications d'origine ?
set /p choix_apps="Reinstaller les applications ? (O/N) : "
if /i "%choix_apps:~0,1%"=="O" (
echo Reinstallation en cours via PowerShell (veuillez patienter)...
powershell -NoProfile -ExecutionPolicy Bypass -Command "$ErrorActionPreference='SilentlyContinue'; $apps = Import-Clixml -Path '%BACKUP_FILE%'; foreach ($app in apps) { Add-AppxPackage -Register -DisableDevelopmentMode -Path \"($app.InstallLocation)\AppXManifest.xml" }" >nul 2>&1
echo [OK] Tentative de reinstallation des applications terminee.
) else (
echo [INFO] Reinstallation des applications ignoree.
)
) else (
echo [INFO] Aucun fichier de sauvegarde XML trouve sur le Bureau. Etape ignoree.
)
echo.
:: ----------------------------------------------------------------------------
:: 3. REACTIVATION DES SERVICES WINDOWS DESACTIVES
:: ----------------------------------------------------------------------------
echo.
echo [3/4] REACTIVATION DES SERVICES SYSTEME...
echo Remise en mode automatique ou manuel des services de telemetrie/diagnostic...
for %%s in (DiagTrack dmwappushservice dps WpcMonSvc ScardSvr RemoteRegistry WalletService PhoneSvc TrkWks MapsBroker) do (
sc query %%s >nul 2>&1 && (
sc config %%s start= demand >nul 2>&1
net start %%s >nul 2>&1
echo Service %%s reactive.
)
)
echo [OK] Services retablis.
echo.
:: ----------------------------------------------------------------------------
:: 4. REACTIVATION DES TACHES PLANIFIEES
:: ----------------------------------------------------------------------------
echo.
echo [4/4] REACTIVATION DES TACHES PLANIFIEES...
schtasks /Change /TN "\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser" /ENABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Application Experience\ProgramDataUpdater" /ENABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Application Experience\StartupAppTask" /ENABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Application Experience\AitAgent" /ENABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Application Experience\PcaPatchDbTask" /ENABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Customer Experience Improvement Program\Consolidator" /ENABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Customer Experience Improvement Program\UsbCeip" /ENABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Customer Experience Improvement Program\KernelCeipTask" /ENABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Customer Experience Improvement Program\BthSQM" /ENABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Feedback\Siuf\DmClient" /ENABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Feedback\Siuf\DmClientOnScenarioDownload" /ENABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\DiskDiagnostic\Microsoft-Windows-DiskDiagnosticDataCollector" /ENABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Power Efficiency Diagnostics\AnalyzeSystem" /ENABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\NetTrace\GatherNetworkInfo" /ENABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Device Information\Device" /ENABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Device Information\Device User" /ENABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Autochk\Proxy" /ENABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Maps\MapsUpdateTask" /ENABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Maps\MapsToastTask" /ENABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Windows Error Reporting\ReportWer" /ENABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Shell\FamilySafetyMonitor" /ENABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Windows\Shell\FamilySafetyRefreshTask" /ENABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Office\OfficeTelemetryAgentFallBack" /ENABLE >nul 2>&1
schtasks /Change /TN "\Microsoft\Office\OfficeTelemetryAgentLogOn" /ENABLE >nul 2>&1
echo [OK] Taches planifiees reactivees.
echo.
:: ----------------------------------------------------------------------------
:: FIN DE LA RESTAURATION
:: ----------------------------------------------------------------------------
echo ============================================================================
echo Operations de restauration terminees.
echo REDEMARRER LA MACHINE POUR FINALISER LES CHANGEMENTS !
echo ============================================================================
echo.
pause
Un redémarrage de la machine est fortement conseillé après l'exécution de l'un ou l'autre des scripts pour que le système prenne en compte l'ensemble des modifications.
Voici la méthode pas à pas, pour transformer le code texte des scripts fournis dans le post en de véritables fichiers exécutables sur votre PC Windows.
1. Ouvrir le Bloc-notes
Aucun logiciel complexe n'est requis :
Appuyez sur la touche Windows de votre clavier.
Tapez Bloc-notes et ouvrez l'application.
2. Écrire les commandes
Dans la page blanche, saisissez le script que vous souhaitez lancer.
3. Enregistrer avec l'extension .bat (TRÈS IMPORTANT)
C'est l'étape clé pour que Windows transforme votre texte en script :
Cliquez sur Fichier puis Enregistrer sous.
Dans le champ Nom de fichier, écrivez un nom suivi OBLIGATOIREMENT de l'extension .bat (ex : mon_script.bat).
Dans le menu déroulant Type, modifiez la sélection pour choisir Tous les fichiers (.) (cela évite que Windows n'ajoute secrètement un .txt à la fin).
Choisissez l'emplacement souhaité (le Bureau par exemple) et validez.
4. Exécuter votre script
Rendez-vous à l'emplacement de votre fichier et cliquez simplement sur Executer En Administrateur mon_script.bat pour lancer son exécution instantanée.
Redémarrez l'ordinateur pour la prise en compte du fichier
Modifié en dernier par titou le ven. 14 août 2026 10:39, modifié 12 fois.
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 !
-
titou
- Membre VIP +

- Messages : 2001
- Enregistré le : mer. 28 sept. 2011 15:22
- Localisation : france ardeche
- A remercié : 5 fois
- A été remercié : 11 fois
Re: [Batch] Fichier .bat de nettoyage, optimisation
Mise a jour faite.
Sur la précédente mise a jour, cela supprimer l'outil capture d'écran.
Voici un petit script pour le réinstaller.
(Restauration_Capture.bat)
Sur la précédente mise a jour, cela supprimer l'outil capture d'écran.
Voici un petit script pour le réinstaller.
(Restauration_Capture.bat)
Spoiler : :
Modifié en dernier par titou le ven. 14 août 2026 10:40, modifié 2 fois.
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 !
- rayman95
- Modérateur

- Messages : 1877
- Enregistré le : mer. 9 déc. 2020 22:41
- A remercié : 584 fois
- A été remercié : 1175 fois
Re: [Batch] Fichier .bat de nettoyage, optimisation
@titou j'ai ce message d'erreur en lancant le script 3.7...
Voulez-vous nettoyer le magasin de composants WinSxS ? (O/N) : o
Nettoyage du magasin de composants DISM en cours (patientez quelques minutes)...
Le terminateur ' est manquant dans la chaîne.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : TerminatorExpectedAtEndOfString
[OK] Magasin de composants WinSxS nettoye avec succes.
dans le log, y a pas moyen de raccourcir le % de scan (mettre 25, 50, 75 et 100ù par exemple) et remettre une ecriture normale...je sais je chipote...pour le reste tout roule..
Voulez-vous nettoyer le magasin de composants WinSxS ? (O/N) : o
Nettoyage du magasin de composants DISM en cours (patientez quelques minutes)...
Le terminateur ' est manquant dans la chaîne.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : TerminatorExpectedAtEndOfString
[OK] Magasin de composants WinSxS nettoye avec succes.
dans le log, y a pas moyen de raccourcir le % de scan (mettre 25, 50, 75 et 100ù par exemple) et remettre une ecriture normale...je sais je chipote...pour le reste tout roule..
Spoiler : :
-
titou
- Membre VIP +

- Messages : 2001
- Enregistré le : mer. 28 sept. 2011 15:22
- Localisation : france ardeche
- A remercié : 5 fois
- A été remercié : 11 fois
Re: [Batch] Fichier .bat de nettoyage, optimisation
Merci pour le retour rayman95 
Normalement cela devrait être bon
Par palier de 20% (0%, 20%, 40%, 60%, 80%, 100%) au lieu du défilé
et j'ai supprimer un morceau du script pour ne pas supprimer l'outil capture écran.
Restauration - Outil Capture d'écran Windows.
Normalement cela devrait être bon
Par palier de 20% (0%, 20%, 40%, 60%, 80%, 100%) au lieu du défilé
et j'ai supprimer un morceau du script pour ne pas supprimer l'outil capture écran.
Restauration - Outil Capture d'écran Windows.
Spoiler : :
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 !
- rayman95
- Modérateur

- Messages : 1877
- Enregistré le : mer. 9 déc. 2020 22:41
- A remercié : 584 fois
- A été remercié : 1175 fois
Re: [Batch] Fichier .bat de nettoyage, optimisation
POUR LES VERSIONS WINDOWS MODIFIEES (UNA, LITE, REVIOS, ATLAS, ETC.) :
LA VERIFICATION D'INTEGRITE (SFC OU DISM) EST FORTEMENT DECONSEILLEE !
EN PRATIQUE, CELA RISQUE DE DEGRADER LE SYSTEME AU LIEU DE LE REPARER.
============================================================================
Voulez-vous quand meme executer cette analyse ? (O/N) : o
Analyse SFC en cours, veuillez patienter...
^ : Le terme «^» n'est pas reconnu comme nom d'applet de commande, fonction, fichier de script ou programme
exécutable. Vérifiez l'orthographe du nom, ou si un chemin d'accès existe, vérifiez que le chemin d'accès est correct
et réessayez.
Au caractère Ligne:1 : 1
+ ^
+ ~
+ CategoryInfo : ObjectNotFound: (^:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
'$lastPct' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
[OK] Analyse SFC terminee.
LA VERIFICATION D'INTEGRITE (SFC OU DISM) EST FORTEMENT DECONSEILLEE !
EN PRATIQUE, CELA RISQUE DE DEGRADER LE SYSTEME AU LIEU DE LE REPARER.
============================================================================
Voulez-vous quand meme executer cette analyse ? (O/N) : o
Analyse SFC en cours, veuillez patienter...
^ : Le terme «^» n'est pas reconnu comme nom d'applet de commande, fonction, fichier de script ou programme
exécutable. Vérifiez l'orthographe du nom, ou si un chemin d'accès existe, vérifiez que le chemin d'accès est correct
et réessayez.
Au caractère Ligne:1 : 1
+ ^
+ ~
+ CategoryInfo : ObjectNotFound: (^:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
'$lastPct' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
[OK] Analyse SFC terminee.
Spoiler : :
-
titou
- Membre VIP +

- Messages : 2001
- Enregistré le : mer. 28 sept. 2011 15:22
- Localisation : france ardeche
- A remercié : 5 fois
- A été remercié : 11 fois
Re: [Batch] Fichier .bat de nettoyage, optimisation
Ha zut.
Merci du retour rayman95
La modification par paliers avait tout cassé.
Edit: Parfait je viens de faire un test sur mon pc
Mise a jour du post plus haut.
Edit 2 : Test sur ordinateur d’un collège, nickel aussi
Le script est nickel.
Merci du retour rayman95
La modification par paliers avait tout cassé.
Edit: Parfait je viens de faire un test sur mon pc
Mise a jour du post plus haut.
Edit 2 : Test sur ordinateur d’un collège, nickel aussi
Le script est nickel.
Spoiler : :
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 !