Accueil » Blog » Informatique » Windows » Impossible de supprimer ou renommer un fichier sous Windows

Impossible de supprimer ou renommer un fichier sous Windows

Un fichier qui refuse de partir est presque toujours retenu par un programme encore ouvert ou protégé par des autorisations que votre compte ne possède pas. Dans la majorité des cas, fermer le bon processus ou reprendre la propriété du fichier suffit, sans aucun logiciel tiers.

Points clés

  • Microsoft recense 6 causes qui empêchent de supprimer un fichier sur un volume NTFS : autorisations, fichier utilisé, système de fichiers endommagé, chemin trop long, nom réservé et nom invalide.
  • La limite classique d’un chemin dans l’API Windows est MAX_PATH, soit 260 caractères. Le préfixe \\?\ permet d’aller jusqu’à environ 32 767 caractères.
  • File Locksmith (PowerToys) et Handle (Sysinternals) montrent quel processus verrouille un fichier.
  • takeown et icacls redonnent la main sur un fichier dont l’accès est refusé.
  • Les noms CON, PRN, AUX, NUL, COM0 à COM9 et LPT0 à LPT9 sont réservés : un fichier qui porte ce nom se supprime uniquement avec la syntaxe \\?\.

Pourquoi Windows refuse de supprimer ou de renommer un fichier

Le message d’erreur varie : « L’action ne peut pas être réalisée car le fichier est ouvert dans… », « Vous avez besoin d’une autorisation pour effectuer cette action » ou « Impossible de trouver cet élément ». Chacun pointe vers une cause différente.

La documentation Microsoft sur NTFS range les blocages en six familles. Pour NTFS, un dossier est un type particulier de fichier : tout ce qui suit vaut donc aussi quand c’est un dossier qui résiste.

  • Le fichier utilise une liste de contrôle d’accès (ACL) qui ne vous accorde pas le droit de suppression.
  • Le fichier est utilisé : un processus garde un handle ouvert dessus, parfois en accès exclusif.
  • Le système de fichiers est endommagé (secteurs défectueux, matériel en panne, bogue logiciel).
  • Le chemin dépasse MAX_PATH, ce qui bloque l’ouverture, la modification et la suppression.
  • Le nom contient un nom réservé de l’espace de noms Win32, comme lpt1.
  • Le nom est invalide pour Win32 : espace ou point final, ou nom constitué d’un seul espace.

Le renommage échoue pour les mêmes raisons. Un fichier ouvert en accès exclusif ne se renomme pas plus qu’il ne se supprime, et un nom réservé ne peut pas non plus servir de nom cible.

Tableau reliant chaque message d'erreur de suppression à sa cause NTFS et à son premier remède
Chaque message pointe vers une des six causes documentées par Microsoft pour NTFS.

Solution 1 : fermer le programme qui retient le fichier

C’est le cas le plus fréquent. Quand l’Explorateur Windows affiche le nom du programme dans son message, fermez-le proprement, puis retentez de supprimer le fichier. Si le programme ne répond plus, appuyez sur les touches Ctrl + Maj + Échap pour ouvrir le Gestionnaire des tâches, faites un clic droit sur le processus, puis cliquez sur Fin de tâche.

L’Explorateur lui-même peut garder un fichier ouvert, notamment pour générer une miniature ou afficher un aperçu. Désactivez le volet de visualisation (onglet Affichage), fermez chaque fenêtre de l’Explorateur ouverte sur ce dossier, ou redémarrez le processus Explorateur Windows (explorer.exe) depuis le Gestionnaire des tâches.

A lire  Erreur 0x80070020 : fichier utilisé par un autre processus

La documentation Microsoft précise un comportement déroutant : une suppression peut être acceptée sans que le fichier disparaisse, tant que le processus qui le détient ne l’a pas libéré. Si rien d’autre ne fonctionne, fermez les applications et redémarrez l’ordinateur : au redémarrage, plus aucun processus ne tient le handle. Le cas de l’erreur 0x80070020 (fichier utilisé par un autre processus) suit la même logique.

Solution 2 : identifier le processus avec File Locksmith ou Handle

Quand Windows ne dit pas qui bloque, deux outils Microsoft gratuits le trouvent.

File Locksmith, un module de PowerToys, s’active dans les réglages de PowerToys. Ensuite, un clic droit sur le fichier, Afficher d’autres options, puis Déverrouiller avec File Locksmith liste les processus qui l’utilisent. Le bouton Terminer la tâche ferme le processus fautif. Les processus lancés par un autre compte n’apparaissent qu’en choisissant Démarrer en tant qu’administrateur. Une version en ligne de commande existe : FileLocksmithCLI.exe "C:\chemin\fichier.docx", avec l’option --kill pour fermer les processus concernés.

Handle, l’utilitaire Sysinternals de Mark Russinovich, s’exécute dans une invite de commandes lancée en administrateur : ouvrez le menu Démarrer, tapez cmd, puis choisissez Exécuter en tant qu’administrateur. La commande handle nomdufichier affiche le processus et son PID. Il peut aussi fermer un handle précis avec -c, mais Microsoft avertit que cette fermeture forcée peut rendre l’application ou le système instable : fermer le programme reste préférable.

Solution 3 : forcer la suppression en ligne de commande

Un fichier en lecture seule, ou caché, peut résister à l’Explorateur sans être verrouillé pour autant. Ouvrez une fenêtre d’invite de commandes (tapez cmd dans le menu Démarrer), puis tapez :

del /f /q "C:\chemin\fichier.ext"
del /f /a:h "C:\chemin\fichier caché.ext"

Le commutateur /f force la suppression des fichiers en lecture seule, /q supprime la demande de confirmation et /a:h cible les fichiers cachés. Attention : Microsoft rappelle qu’un fichier effacé avec del ne passe pas par la Corbeille et ne peut pas être récupéré.

Dans la Corbeille, un fichier récalcitrant se traite de la même façon. Pour éviter cette étape, sélectionnez le fichier et appuyez sur Maj + Suppr : Windows l’efface définitivement après confirmation. Ni cette touche ni del ne contournent un verrou ou une autorisation manquante, un symptôme que Microsoft classe parmi les problèmes courants de fichiers et de dossiers.

Solution 4 : reprendre la propriété et les autorisations

Le message « Vous avez besoin d’une autorisation » signale une liste de contrôle d’accès restrictive. Un administrateur peut toujours prendre possession d’un fichier, même sans droit explicite dessus, puis s’accorder les autorisations nécessaires. Dans une invite de commandes en administrateur :

takeown /f "C:\chemin\fichier.ext"
icacls "C:\chemin\fichier.ext" /grant %username%:F
del "C:\chemin\fichier.ext"

Pour un dossier entier, takeown /f "C:\chemin\dossier" /r /d Y agit de façon récursive, et /a attribue la propriété au groupe Administrateurs plutôt qu’au compte courant. icacls remplace l’ancienne commande cacls, désormais obsolète. La démarche graphique, par l’onglet Sécurité puis Avancé, est détaillée dans l’article Accès refusé à un dossier sous Windows.

A lire  Fichier .dat : C'est quoi ? Comment l'ouvrir ? Et est-ce que c'est dangereux ?

Attention aux dossiers système (C:\Windows, WindowsApps) : leurs autorisations sont verrouillées à dessein, et s’en approprier le contenu peut casser des mises à jour ou des applications.

Solution 5 : raccourcir un chemin trop long

Dans l’API Windows, la longueur maximale d’un chemin est MAX_PATH, définie à 260 caractères, caractère nul final compris. NTFS accepte des chemins bien plus longs, mais beaucoup de programmes s’arrêtent à cette limite. Un dossier décompressé ou synchronisé avec des noms longs suffit à créer un fichier impossible à supprimer.

Microsoft propose plusieurs parades, de la plus simple à la plus technique :

  1. Renommer un dossier parent avec un nom court, en remontant vers la racine, jusqu’à repasser sous la limite.
  2. Utiliser le nom court 8.3 généré automatiquement. La commande dir /x l’affiche devant le nom long (par exemple DOSSIE~1). Cette méthode échoue si les noms 8.3 sont désactivés sur le volume.
  3. Mapper une lettre de lecteur sur un dossier profond avec subst X: "C:\chemin\très\profond", puis travailler depuis X:. subst X: /d retire ce lecteur virtuel ensuite.
  4. Utiliser le préfixe \\?\, qui porte la limite à environ 32 767 caractères au total, chaque composant restant généralement limité à 255 caractères.

Depuis Windows 10 version 1607, la valeur de registre LongPathsEnabled (clé HKLM\SYSTEM\CurrentControlSet\Control\FileSystem, à 1) lève la limite pour de nombreuses fonctions de fichiers. Elle n’agit toutefois que sur les applications déclarées compatibles dans leur manifeste : l’activer ne débloque pas tous les programmes.

Solution 6 : traiter un nom réservé ou invalide

Certains noms sont réservés aux périphériques DOS : CON, PRN, AUX, NUL, COM0 à COM9, LPT0 à LPT9, y compris suivis d’une extension (NUL.txt équivaut à NUL). Windows interdit aussi les caractères < > : " / \ | ? * et déconseille un nom terminé par un espace ou un point.

La syntaxe \\?\ transmet le chemin au système sans le normaliser, ce qui permet de viser ces fichiers :

del "\\?\C:\chemin\nom avec espace final .txt"
ren "\\?\C:\chemin\nul.txt" fichier.txt
rd /s /q "\\?\C:\chemin\dossier."

Le piège décrit par Microsoft : avec un espace ou un point final, les appels Win32 classiques retirent ce caractère avant d’ouvrir le fichier. L’Explorateur vise alors un autre fichier, ou le dossier parent, et modifier les autorisations peut toucher le mauvais élément. Si le dossier ne se vide pas pour d’autres raisons, l’article sur l’erreur 0x80070091, le dossier n’est pas vide détaille la suite.

Tableau des commandes Windows pour supprimer un fichier bloqué, de handle à chkdsk
Les commandes s’enchaînent de la moins intrusive à la plus lourde.

Solution 7 : réparer le système de fichiers avec chkdsk

Un fichier qui renvoie « Impossible de trouver cet élément », qui réapparaît après suppression ou qui affiche une taille incohérente signale souvent une corruption du système de fichiers, liée à des secteurs défectueux du disque ou à un arrêt brutal pendant une écriture de données. Windows enregistre alors un événement dans le journal et propose en général de lancer chkdsk.

A lire  Presse-papiers Windows qui ne fonctionne plus : les solutions

La commande chkdsk C: /f, depuis une invite en administrateur, corrige les erreurs du volume. Sur le disque système, elle est planifiée au prochain redémarrage. Microsoft rappelle que chkdsk ne récupère pas toujours les données du fichier concerné, mais qu’il remet le système de fichiers dans un état cohérent, ce qui débloque ensuite la suppression. Les options et les précautions sont réunies dans l’article sur la commande chkdsk, à lire avant de lancer /r sur un disque qui montre des signes de faiblesse.

Solution 8 : passer par le mode sans échec

En dernier recours, le mode sans échec démarre Windows avec un minimum de pilotes et de services. Un logiciel qui se relance tout seul et reprend le fichier (antivirus tiers, outil de synchronisation, service d’un éditeur) ne tourne alors plus. Le chemin passe par Paramètres, Système, Récupération, Démarrage avancé, puis Dépannage, Options avancées et Paramètres de démarrage.

Supprimez le fichier une fois en mode sans échec, puis redémarrez l’ordinateur normalement. Si le fichier revient à chaque démarrage, un programme le recrée : c’est ce programme qu’il faut désinstaller ou reconfigurer, pas le fichier qu’il faut combattre.

Un dossier de fichiers temporaires qui résiste au nettoyage n’est pas forcément bloqué : Windows et les applications en utilisent une partie en permanence. Le guide pour supprimer les fichiers temporaires de Windows 11 sans rien casser distingue ce qui peut partir de ce qui doit rester.

Sur un partage réseau, le blocage peut venir d’un autre poste qui a ouvert le fichier ou des autorisations du partage. Sur une clé USB ou une carte SD, une protection en écriture donne les mêmes symptômes.

FAQ

Pourquoi Windows dit qu’un fichier est ouvert alors qu’aucun programme n’est lancé ?

Un processus en arrière-plan le détient : l’Explorateur qui génère un aperçu, un indexeur, un antivirus ou un outil de synchronisation. File Locksmith ou Handle donnent le nom exact du processus.

Faut-il installer un logiciel pour forcer la suppression d’un fichier ?

Non dans la plupart des cas. Windows fournit déjà takeown, icacls, del avec la syntaxe \\?\ et chkdsk, et Microsoft publie gratuitement File Locksmith et Handle.

Comment supprimer un dossier au chemin trop long ?

Renommez les dossiers parents avec des noms courts, ou utilisez rd /s /q "\\?\C:\chemin\dossier". Le préfixe contourne la limite de 260 caractères de MAX_PATH.

Pourquoi un fichier supprimé réapparaît-il ?

Soit un programme le recrée à chaque démarrage, soit le système de fichiers est incohérent et l’effacer ne tient pas. Dans le premier cas, identifiez et désinstallez le programme ; dans le second, lancez chkdsk.

Photo d’en-tête : touche Delete d’un clavier Apple A1243, par Ervins Strauhmanis, licence CC BY 2.0, via Wikimedia Commons. La photo montre un clavier Mac, pas un clavier PC : elle illustre le geste de suppression, pas la procédure Windows.
Sources : Microsoft Learn, Impossible de supprimer un fichier ou un dossier sur un volume NTFS ; Microsoft Learn, Limitation de la longueur maximale des chemins d’accès ; Microsoft Learn, Nommage des fichiers, des chemins et des espaces de noms ; Microsoft Learn, Utilitaire File Locksmith ; Microsoft Learn, Handle (Sysinternals) ; Microsoft Learn, takeown ; Microsoft Learn, icacls ; Microsoft Learn, del.

Laisser un commentaire

Pin It on Pinterest