Comment supprimer des fichiers (invalides) avec deux points dans leur nom sous Windows?

14

J'ai un assez grand nombre de fichiers sur mon lecteur Windows qui ont deux points en leur nom. (Ceux-ci provenaient du déballage de certaines archives Unix.)

Lorsque j'essaie de les supprimer, Windows (XP) se plaint que le fichier n'existe pas et refuse de le supprimer. Cela se produit lorsque vous essayez de le supprimer ou de le renommer depuis l'explorateur ou la ligne de commande. Pourtant, chkdskne se plaint pas de ces fichiers et ne résout pas le problème.

Des idées sur la façon de s'en débarrasser?

Hans-Peter Störr
la source
Cela vous permettra-t-il de les renommer ou de les déplacer vers un autre emplacement? Si vous pouvez les déplacer, essayez de les mettre tous dans un répertoire, puis supprimez ce répertoire.
nhinkle
Techniquement, ils sont valides, c'est l'Explorateur Windows qui n'est pas valide ^ W gestionnaire de fichiers à besoins spéciaux.
Alexei Averchenko

Réponses:

7

Vous pourrez peut-être utiliser cette syntaxe ( selon Microsoft KB 320081 ):

del "\\?\c:\path_to_file\bad:name.ext"

Voir aussi cette question de défaillance du serveur sur le même sujet, "supprimer le fichier contenant des caractères invalides dans les fenêtres".

Je pense que les anciens utilitaires sysinternals "ntfsdos" pourraient également supprimer / renommer ces fichiers, mais ils ne sont plus disponibles après l'acquisition MS.

Michael
la source
@ Hello71 (à @Ruggle Humsteader) - les nouveaux utilisateurs ne peuvent pas commenter, ils peuvent seulement répondre (ils ont actuellement besoin de 50 points de répétition pour cela: superuser.com/faq ). Ils peuvent toutefois commenter leurs propres questions et réponses. (Juste pour que les autres nouveaux utilisateurs ne soient pas confus par votre demande.)
Michael
Comment feriez-vous un tel fichier à partir de Windows?
cutrightjm
@ekaj - le fichier peut être créé à l'aide d'un autre système d'exploitation. Créez une capture d'écran dans Ubuntu, il y a des deux-points dans le nom de fichier. Ensuite, ouvrez-le dans Windows - cela ne fonctionnera pas.
SPRBRN
@rxt je suis au courant. Mon point est que si vous pouvez le supprimer, vous pouvez probablement le faire un peu.
cutrightjm
3
ne fonctionne pas pour moi dans Windows 7
Populus
8

Vous pouvez essayer de démarrer à partir d'un CD Ubuntu Live et de le supprimer de là.

Tofystedeth
la source
Hier, j'ai enregistré une capture d'écran dans Ubuntu, puis j'ai essayé de l'ouvrir dans une machine virtuelle Windows. Il a refusé d'ouvrir, mauvais type de fichier ou quelque chose. Ensuite, j'ai réalisé qu'il pouvait s'agir des deux points du nom de fichier, que je ne pouvais pas supprimer sous Windows. Je change le nom dans Nautilus, puis je pouvais ouvrir le fichier.
SPRBRN
5

Fermez tous les fichiers, le cas échéant, qui sont enregistrés dans le lecteur qui contient ces fichiers. Maintenant, ouvrez les propriétés du lecteur.

"Poste de travail" -> "Clic droit sur ce lecteur"> propriétés

Ensuite, allez dans l' onglet " Outils " et cliquez sur " Vérifier maintenant " sous l'étiquette "Vérification des erreurs".

[Cliquez ici pour l'image] ()

Cela démontera votre lecteur et analysera le lecteur complet pour les erreurs, éventuellement il supprimera ces fichiers avec des noms illégaux. À la fin, il affichera un message indiquant que certains fichiers ont été corrigés.

J'ai réussi à supprimer ces fichiers de mon disque dur externe.

Atul Vaibhav
la source
J'aimerais qu'il vous montre une liste de ce qu'il allait résoudre, mais cela a fonctionné pour moi dans Windows 8.1.
ToastyMallows
première chose qui m'a aidé, après environ 20 essais. Cela utilise chkdsk qui corrige beaucoup de choses.
oshell
1

Vous pouvez facilement le faire dans la ligne de commande (CMD) sans aucun programme sophistiqué.

  1. Renommez le fichier / dossier en utilisant l'ancienne notation courte (par exemple pour Filename, FILENA ~ 1) et. Pour obtenir la notation, accédez au répertoire contenant le dossier / fichier avec un nom non valide et tapez:

    dir / x

  2. Renommez un nom valide en utilisant:

    ren FILENA ~ 1 fileName

  3. Maintenant, effacez le fichier / dossier valide dans CMD ou dans l'explorateur Windows:

    del fileName

ricardo3889
la source
0

Pour résoudre ce problème sous Windows 7:

chkdsk C:/r
tpbapp
la source
0

Si tout le reste échoue, vous devrez peut-être modifier le nom directement dans NTFS.

Je l'ai fait avec succès avec Active @ Disk Editor . Procéder avec prudence.

  • ouvrir le programme
  • choisissez Explorer mon ordinateur
  • trouver votre dossier
  • choisissez Inspect File Record dans la barre de boutons ou dans le menu contextuel
  • activez Autoriser la modification du contenu dans le menu déroulant Modifier ou dans le menu contextuel
  • recherchez le nom dans la colonne Unicode et cliquez dessus, remplacez les mauvais symboles par un bon, comme un caractère ou un tiret. Rappelez-vous quoi et comment vous avez renommé, vous en aurez besoin à l'étape suivante.
  • revenir à l'onglet Poste de travail
  • sélectionner le répertoire parent du fichier dans l'arborescence
  • choisissez Inspect File Record dans la barre de boutons ou dans le menu contextuel
  • dans l'arborescence à gauche, recherchez l'attribut $ A0 (en gras), ouvrez-le, recherchez $ INDEX_ALLOCATION, exécution de données, premier cluster, cliquez sur la valeur, elle doit être interactive.
  • recherchez le nom et modifiez-le de la même manière qu'à l'étape précédente. Vous devrez peut-être faire défiler un peu pour le trouver s'il y a beaucoup de fichiers dans le répertoire.
  • si vous êtes sûr de ne pas avoir accidentellement écrasé d'autres données, cliquez sur Enregistrer. Sinon, fermez l'onglet sans enregistrer les modifications et recommencez soigneusement.
  • redémarrer.

Si le fichier ou le répertoire est toujours inaccessible, essayez chkdskmaintenant.

utilisateur
la source
-2

Une autre alternative que vous voudrez peut-être essayer est d'apporter CygWin , un shell bash pour Windows. Cela vous permettrait d'appliquer des commandes UNIX à vos dossiers DOS.

Dave
la source
1
Si vous traitez régulièrement des fichiers Unix sur une machine Windows, c'est toujours une bonne idée d'avoir cygwin installé. Sinon, il pourrait vous convenir de démarrer et de supprimer le fichier d'un CD live Linux lorsque la situation se présente.
Marnix A. van Ammers
5
Malheureusement, j'ai essayé cygwin, et cela n'aide pas. 8- {Même cygwin n'est pas en mesure de supprimer les fichiers.
Hans-Peter Störr
6
Les outils cygwin s'appuient toujours sur l'API Windows pour supprimer des fichiers. Si l'API Windows refuse le nom de fichier, rien ne peut être fait à partir de Windows avec des outils de fichiers standard. Je recommande également d'accéder au système de fichiers à partir d'un autre système d'exploitation.
dolmen
Je viens d'essayer d'accéder à un fichier avec deux points sur un disque ext3 avec Cygwin et même cela ne fonctionne pas.
laurent