Question Windows impossible à supprimer ._. Fichier


J'ai actuellement un fichier à la racine de mon disque dur externe nommé simplement ._., que je suppose a été ajouté à mon disque dur après l’avoir utilisé sur mon MacBook il ya quelque temps. J'essaie de supprimer ce fichier sur ma machine Windows 10; Cependant, Windows continue à prétendre que le fichier est introuvable.

Error message from Windows Explorer

J'ai également essayé de supprimer le fichier via une invite de commande élevée. Cependant, le même message est renvoyé.

Error message from elevated command prompt

Est-il possible de supprimer ce fichier de mon disque dur via Windows?


91
2017-11-08 04:14


origine


@ rr- la misère que vous pouvez faire avec les noms de fichiers unix a tendance à être beaucoup plus grande. : 3 - Martijn
Votre invite de commande montre quelque chose d'étrange. Tu l'as fait find "._." mais laissé de côté les guillemets pour del ._.. As-tu essayé del "._."? - jpmc26
phénomène intéressant surtout combien il est difficile à supprimer. Êtes-vous sûr que le fichier a été créé légalement? (la dénomination semble assez étrange même pour un mac) - Thomas
Ma partie préférée est l'expression du fichier de vos tentatives de suppression. - Workman
"._." Vous ne pouvez pas supprimer ceci car les koalas sont une espèce protégée.


Réponses:


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

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

À propos de \\?\ préfixe:

Pour le fichier I / O, le "\\?\"préfixe à une chaîne de chemin d'accès indique à Windows   API permettant de désactiver toute analyse de chaîne et d'envoyer la chaîne qui suit   directement au système de fichiers.

...

Comme il désactive l’extension automatique de la chaîne de chemin, le   "\\?\"préfixe permet également l'utilisation de".." et "." Sur le chemin   noms, ce qui peut être utile si vous essayez d'effectuer des opérations   sur un fichier avec ces spécificateurs de chemin relatifs autrement réservés comme   partie du chemin complet.

Notez que vous ne pouvez pas utiliser le "\\?\"préfixe avec un chemin 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 "._."

==>

143
2017-11-08 07:39



A travaillé comme un champion, merci! - Mike K
Il est possible d'utiliser ce préfixe avec une URL, al start commander? - Steven Penny
... Cela peut-il être utilisé pour contourner les limites de longueur? (Par exemple, supprimer un node_modules annuaire.) - jpmc26
@ jpmc26 Selon MSDN (voir le lien fourni dans ma réponse), oui. Cependant, j'ai rencontré des scénarios où \\?\  préfixe utilisé dans del ou rmdir les commandes n'ont pas aidé. Tournés vers 7-zip gestionnaire de fichiers. - JosefZ
@ jpmc26: il peut contourner certaines limites de longueur. Fondamentalement, un chemin étendu a une limite de longueur de 32 Ko. Mais la plupart des chemins comme C:\Windows ou .. ne sont pas étendus, et ceux-ci ont une limite de longueur de seulement 260. Cette limite de 260 est appliquée dans de nombreux endroits; Malheureusement, bon nombre de ces endroits appliquent incorrectement cette limite aux chemins \\? - MSalters


Même si la question a déjà été répondue, je voudrais quand même proposer une solution alternative possible: utiliser les "short names" hérités (que vous pouvez afficher avec l'option "/ x" dans la commande dir) peut également vous permettre de prenez le contrôle des fichiers avec des 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

24
2017-11-11 15:38





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

Je l'ai testé sur Windows XP en cours d'exécution sur une machine virtuelle. J'ai utilisé Linux pour créer un fichier appelé ._. sur un répertoire partagé.


20
2017-11-08 06:08





Sur votre explorateur Windows, naviguez jusqu'au fichier. Renommez le fichier comme: filename.txt Maintenant, vous pouvez le supprimer. Si vous ne pouvez pas faire cela, vous devez être sûr d'avoir des droits d'administrateur.

(btw la raison pour laquelle vous ne pouvez pas le supprimer est parce que le nom de fichier n'a pas de nom et que l'extension n'est pas valide. Le nom de fichier est "." et l'extension est "__."


-4
2017-11-08 08:37



@ The_IT_Guy_You_Don't_Like Je suis curieux, où OP at-il mentionné cela? - muru
@ Ari Klep, je reprends mes mots. Je dois l'avoir lu dans une autre question similaire - pun


Vous pouvez supprimer le fichier par 1) Prendre possession 2) accorder aux administrateurs (vous) la permission complète 3) Faites ce que vous voulez avec le fichier

Invite CMD élevée

takeown / f Chemin complet vers le fichier indeletable (le dernier élément doit être le fichier non-extractible)

icacls Chemin complet vers les administrateurs de fichiers / octets indeletables: f

Supprimer le fichier


-8
2017-11-08 06:04



Le problème semble être que Windows ne peut pas accéder au fichier à cause de son nom de fichier non conforme. Je serais donc très surpris que cette réponse fonctionne. - Scott