92 votes

Windows ne parvient pas à supprimer le fichier ._. Fichier

J'ai actuellement un fichier à la racine de mon disque dur externe simplement nommé ._. qui, je suppose, a été ajouté à mon disque dur après l'avoir utilisé sur mon MacBook il y a quelque temps. J'essaie de supprimer ce fichier sur mon ordinateur Windows 10, mais Windows continue de dire que le fichier est introuvable.

Error message from Windows Explorer

J'ai également essayé de supprimer le fichier par le biais d'une invite de commande élevée, mais le même message est renvoyé.

Error message from elevated command prompt

Y a-t-il un moyen de supprimer ce fichier de mon disque dur via Windows ?

146voto

JosefZ Points 11907

Exécutez la commande suivante (peut nécessiter des privilèges élevés / ouvrez l'invite de commande en tant qu'administrateur) :

del "\\?\F:\._."

A propos de la \\?\ préfixe :

Pour l'entrée/sortie de fichier, le " \\?\ "à une chaîne de chemin indique aux API Windows Windows de désactiver l'analyse des chaînes de caractères et d'envoyer la chaîne qui suit qui suit directement au système de fichiers.

...

Parce qu'elle désactive l'expansion automatique de la chaîne du chemin, la commande " \\?\ "Ce préfixe permet également l'utilisation de " .. " et " . "dans les noms de chemin ce qui peut s'avérer utile si vous tentez d'effectuer des opérations sur un fichier avec ces spécificateurs de chemin relatif autrement réservés comme partie du chemin d'accès complet.

Notez que vous ne pouvez pas utiliser l'option " \\?\ préfixe " avec un chemin d'accès relatif.

Exemple :

==> set prog>"\\?\D:\bat\Unusual Names\._."

==> dir "D:\bat\Unusual Names\*"|find "._."
08.11.2015  13:25               132 ._.

==> type "D:\bat\Unusual Names\._."
The system cannot find the file specified.

==> type "\\?\D:\bat\Unusual Names\._."
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files

==> del "D:\bat\Unusual Names\._."
Could Not Find D:\bat\Unusual Names\._.

==> del "\\?\D:\bat\Unusual Names\._."

==> dir "D:\bat\Unusual Names\*"|find "._."

==>

24voto

Guest Points 241

Bien que la question ait déjà reçu une réponse, j'aimerais tout de même proposer une solution alternative : l'utilisation des anciens "noms courts" (que vous pouvez afficher avec l'option "/x" de la commande dir) peut également vous permettre d'appréhender les fichiers aux noms "funky" que vous ne pouvez pas gérer autrement :

C:\temp\test>dir
 Volume in drive C has no label.
 Volume Serial Number is 887A-5E48

 Directory of C:\temp\test

11.11.2015  16:31    <DIR>          .
11.11.2015  16:31    <DIR>          ..
11.11.2015  16:31                 7 ._.
               1 File(s)              7 bytes
               2 Dir(s)  44.966.129.664 bytes free

C:\temp\test>dir /x
 Volume in drive C has no label.
 Volume Serial Number is 887A-5E48

 Directory of C:\temp\test

11.11.2015  16:31    <DIR>                       .
11.11.2015  16:31    <DIR>                       ..
11.11.2015  16:31                 7 _3E35~1      ._.
               1 File(s)              7 bytes
               2 Dir(s)  44.966.129.664 bytes free

C:\temp\test>del _3e35~1

C:\temp\test>dir
 Volume in drive C has no label.
 Volume Serial Number is 887A-5E48

 Directory of C:\temp\test

11.11.2015  16:31    <DIR>          .
11.11.2015  16:31    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  44.966.129.664 bytes free

22voto

NZD Points 2460

Installer 7-zip ouvrez-le et utilisez son menu fichier pour renommer le fichier en un nom normal (par exemple en aaa ) et vous pouvez ensuite le supprimer. Trouvé à este poste.

Je l'ai testé sur Windows XP fonctionnant dans une VM. J'ai utilisé Linux pour créer un fichier appelé ._. sur un répertoire partagé.

-4voto

Vinix Wiread Points 1

Ouvrez simplement votre explorateur Windows, naviguez jusqu'au fichier. Renommez le fichier comme : nomfichier.txt Maintenant vous pouvez le supprimer. Si vous ne parvenez pas à le faire, vous devez vous assurer que vous avez les droits d'administrateur.

(La raison pour laquelle vous ne pouvez pas le supprimer est que le nom du fichier est en fait sans nom et que l'extension n'est pas valide. Le nom de fichier est "." et l'extension est "__." ce qui n'est pas autorisé).

-8voto

rstrong30 Points 1

Vous pouvez supprimer le fichier en 1) prendre la propriété 2) accorder aux administrateurs (vous) la pleine permission 3) Faire ce que vous voulez avec le fichier

Invite CMD élevée

takeown /f Chemin complet du fichier indélébile (le dernier élément doit être le fichier indélébile)

icacls Chemin complet vers le fichier indélébile /grant administrators:f

Supprimer le fichier

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X