Impossible de supprimer le dossier corrompu dans Windows 10

1

Aujourd'hui, lorsque j'essayais de décompiler un fichier .apk à l'aide de WinRAR, une erreur s'est produite et la décompression s'est terminée. Après cela, lorsque j'essaie de supprimer le dossier, j'obtiens une erreur indiquant que je ne suis pas propriétaire du dossier, même si je fournis la permission à l'administrateur.

Erreur affichée lors de la suppression du dossier

Image de l'explorateur de fichier du dossier contenant un fichier

Le fichier et le dossier parent du fichier dans l'image donnent une erreur lorsque j'essaie de le supprimer.

Ensuite, j'ai essayé de faire la même chose en utilisant cmd en mode administrateur avec une commande:

test rm -d

output :: rm: impossible de lier `test ': non propriétaire

J'ai également essayé la commande suivante pour supprimer de manière récursive des fichiers dans un dossier:

rm -r test

output: rm: AVERTISSEMENT: structure de répertoire circulaire. Cela signifie presque certainement que votre système de fichiers est corrompu. NOTIFIEZ VOTRE GESTIONNAIRE DE SYSTÈME. Les deux répertoires suivants ont le même numéro d'inode:

test `test / '

J'ai donc essayé la commande suivante pour supprimer la structure de fichier récursive,

test rm -rfd

output: rm: impossible de lier `test ': non propriétaire

Toutes les méthodes ci-dessus que j'ai utilisées sont issues de la page StackOverflow ou Microsoft QnA, mais rien ne semble fonctionner.

J'ai aussi essayé tout cela en mode sans échec. Mais toujours, je reçois la même erreur. Deux fois j'ai aussi eu une erreur avec un code d'erreur de 0x80070091

Image illustrant les autorisations dans l'onglet Sécurité de la fenêtre de propriétés du dossier à supprimer

J'ai déjà essayé de m'approprier le dossier à l'aide de la commande de reprise.

prise de contrôle / test f / r

Sortie:

SUCCESS: Le fichier (ou dossier): "C: \ Users \ mandar \ Desktop \ test" appartient maintenant à l'utilisateur "MANDAR_SADYE \ mandar".

SUCCESS: Le fichier (ou dossier): "C: \ Utilisateurs \ mandar \ Bureau \ test \" appartient maintenant à l'utilisateur "MANDAR_SADYE \ mandar".

J'ai essayé toutes les solutions possibles que je pouvais trouver mais rien ne semble fonctionner. Si quelqu'un a des suggestions à faire à ce sujet, merci de le poster en tant que réponse ou commentaire de votre choix. Merci d'avance.

Mandar Sadye
la source

Réponses:

1

Votre problème est que vous avez une entrée de système de fichiers avec un nom contenant uniquement un espace ( test\notez l'espace après la barre oblique inverse). Ceci est techniquement possible dans NTFS, mais n’est pas du tout autorisé dans Win32 et la plupart des API Windows ne le gèreront pas correctement. Ils essaieront de supprimer les espaces des extrémités du nom de fichier, puis deviendront très confus lorsque le nom du fichier n’y est plus et pourront le traiter comme si vous vous référiez au répertoire; cela se produit même si vous utilisez un format tel que test\*ou " ".

Il y a deux façons de sortir de cela dans Windows même.

  1. Ignorer la traduction du chemin Win32. Ceci est fait en préfixant un chemin pleinement qualifié avec \\?\. Cela désactive toutes les règles Win32 concernant le nom de fichier valide (tel que "ne peut pas commencer ou se terminer par un espace"), ne laissant que le jeu beaucoup plus restrictif de règles NTFS (ne peut pas contenir un \ou :, par exemple). Notez qu'il désactive également les raccourcis pratiques, comme l'utilisation de chemins relatifs; si vous voulez faire cela, vous devez fournir un chemin absolu (C: \ Utilisateurs \ Mandar \ Desktop \ Test \) et vous devrez le citer afin que la ligne de commande sache que vous voulez inclure cet espace final: del "\\?\C:\Users\mandar\Desktop\test\ "(et oui, vous devrait utiliser cmd.exepour cela; Powershell ignore les shells \? \ et de type Unix s'exécutant sous Windows via MinGW ou Cygwin n'utilisent pas les chemins du format attendu par le noyau).
  2. Utilisez le sous-système Linux natif de Windows (qui exécute des fichiers binaires Linux non modifiés directement sur le noyau NT, via un pilote spécial). Linux (comme vous l'avez constaté) prend en charge le traitement de fichiers portant des noms idiots, à l'instar de WSL, le sous-système Windows pour Linux. Si vous n’avez jamais utilisé WSL auparavant, vous devrez installer une distribution Linux à partir de la boutique d’applications Windows ( Ubuntu et OpenSUSE sont tous deux disponibles et adaptés à un usage général. Kali est également disponible si vous souhaitez utiliser une distribution spéciale sur votre ordinateur. Windows Box, vous pouvez en installer plusieurs si vous le souhaitez). À l'intérieur bash(ou dans un autre shell) d'une distribution WSL, accédez au répertoire approprié ( cd /mnt/c/Users/mandar/Desktop/test), puis supprimez le fichier incriminé ( rm ' ') ou simplement le répertoire entier.
CBHacking
la source
Excellent! Travaillé pour moi avec des fichiers créés par programme
Frank
0

Exécutez la commande chkdsk et voyez si elle trouve des erreurs.

Pour mieux comprendre les erreurs, il est possible de lire le journal Chkdsk dans l'observateur d'événements dans Windows 10 .

Si des erreurs sont détectées et si elles ne paraissent pas trop menaçantes ou trop nombreuses, pour les corriger, exécutez la commande:

chkdsk /f

Assurez-vous d'avoir une bonne sauvegarde de vos fichiers avant de commencer.

harrymc
la source
0

Après de nombreux essais et erreurs, j'ai trouvé le moyen de le supprimer. J'ai trouvé une solution avant de pouvoir essayer la solution d'Harrymc , donc je n'ai pas pu confirmer si sa solution fonctionnait. La façon dont je l’ai faite n’est pas simple, alors je vous recommande vivement d’essayer d’abord sa solution et de me faire savoir si elle fonctionne afin que je puisse la marquer comme une réponse acceptable.

Donc, la méthode que j'ai suivie est d'ouvrir le dossier dans le système de fichiers différent.

  • La façon dont je l'ai fait était de le supprimer via une clé USB amorçable (j'ai utilisé Kali mais toute autre distribution devrait bien fonctionner.
  • Vous pouvez essayer de le supprimer en partageant le dossier avec une machine virtuelle ou une machine virtuelle VMware avec Linux, puis d'essayer de le supprimer.
  • Et la troisième façon est de partager le dossier sur votre réseau local et d'essayer de le supprimer de votre appareil Android ou MAC connecté au réseau (rappelez-vous qu'Android a le noyau Linux et MAC a Unix alors les deux devraient fonctionner)

Donc, je suppose que le problème vient du système de fichiers Windows NTFS. Comme vous pouvez le constater, à l'exception de la troisième méthode, vous devez disposer d'un système d'exploitation secondaire sous forme de machine amorçable ou de machine virtuelle, ce que la plupart des gens n'auront pas. Alors essayez la 3ème solution. Si cela ne fonctionne pas, essayez la solution d'Harrymc . Et si même cela ne fonctionne pas, vous pouvez installer une machine virtuelle ou créer un lecteur de stylo amorçable et essayer de le supprimer.

Mandar Sadye
la source
-1

J'ai trouvé une solution qui fonctionne pour moi.

Sur la page Paramètres de sécurité avancés, vous devez changer d’administrateur (avec un s à la fin sinon des erreurs Enum) et cliquer sur ok car l’option 'remplacer tous les enfants ...' est manquante.

Puis rouvrez-le et faites la même chose, cette fois-ci, l'option 'remplacer tout enfant' est présente ', cochez cette case et cochez la case' Remplacer le propriétaire sur ... '. Puis cliquez sur ok

Vous devriez maintenant pouvoir modifier pour donner l’autorisation aux administrateurs. Fermez à nouveau ce menu et vous devriez pouvoir le supprimer.

Je suis sûr que c'est soit un problème, soit quelque chose, mais ça marche pour moi.

Spedley
la source