28 votes

Supprimer le fichier contenant des caractères non valides dans Windows

J'ai quelques fichiers qui contiennent le caractère deux-points dans le nom de fichier (par exemple, 1d67c0d23e859ed4a259749e4a720d9e:default-sink). Lorsque j'essaie de les supprimer en ligne de commande avec la commande :

c:\backup> del /F *.* 

Je reçois "Le système ne peut pas trouver le fichier spécifié." pour chaque fichier. Si je spécifie un fichier individuel :

c:\backup> del /F "1d67c0d23e859ed4a259749e4a720d9e:default-sink" 

Je reçois "Le nom de fichier, de répertoire ou d'étiquette de volume est incorrect.". Si j'essaie d'utiliser rd sur le dossier parent, je reçois

Comment puis-je supprimer ces fichiers ?

2 votes

Ces fichiers ont été créés sur la partition NTFS lorsque j'étais démarré sous Linux. Je suppose que je devrai utiliser un disque de démarrage Linux car il semble que Windows n'aime pas les deux-points dans les noms de fichiers au niveau du pilote de système de fichiers.

0 votes

5voto

Andy Jackson Points 247

7zip peut supprimer des fichiers que Windows n'arrive pas à supprimer; je l'ai utilisé par le passé pour traiter des noms de fichiers trop longs, mais je ne l'ai jamais essayé sur des fichiers contenant des deux-points. Ces derniers sont généralement utilisés pour indiquer des ADS.

0 votes

Cela est dû au fait que 7-zip utilise cygwin.

1 votes

Ne fonctionne pas pour mes deux fichiers. Le premier fichier a un nom de fichier avec un backslash et le deuxième fichier a un nom de fichier avec deux points.

0 votes

Non, c'est parce que 7-zip utilise l'API Windows au lieu de la coquille. Elle a les mêmes limitations que l'API : elle pense que les deux-points indiquent les flux.

1voto

joeqwerty Points 106914

Essayez de renommer le dossier parent en un caractère unique (a, 1, etc.) puis essayez de supprimer le dossier parent. Si cela ne fonctionne pas, passez au premier dossier enfant et renommez-le en un seul caractère, puis réessayez de le supprimer. J'utilise souvent cette méthode pour les fichiers avec des caractères non valides (ne me demandez pas comment ils sont créés car je ne sais pas) ou pour les fichiers dont le chemin dépasse le maximum autorisé (encore une fois, ne me demandez pas comment cela se produit).

1voto

Ang Black Points 11

J'ai un système double démarrage, et aucun des réponses ci-dessus n'a fonctionné pour moi. Si le fichier est situé dans un disque monté par votre autre OS (Ubuntu 16.04 LTS pour moi), vous pouvez simplement le supprimer en utilisant votre autre OS ;)

0 votes

C'est assez raisonnable en cas de besoin (mais cela ne peut pas être fait sur une machine en ligne). De plus, le dual boot natif n'est pas nécessaire, car nous pouvons démarrer une distribution live comme le disque d'installation de Fedora ou Knoppix pour le faire. CEPENDANT, il faut faire attention dans un environnement comme celui-ci, car le pilote NTFS3G que nous utilisons pour monter ce système ne respectera pas la plupart des permissions / ACL de Windows (c'est précisément pourquoi il est si efficace pour se débarrasser des fichiers "bloqués").

0voto

Ryan Sampson Points 2898

Avez-vous essayé de citer les noms de fichiers? Donner la commande exacte que vous exécutez serait utile.

0 votes

J'ai ajouté cela à la commande exacte que j'exécute pour questionner.

0voto

Karim Points 8533

Avez-vous essayé d'utiliser un joker ? Par exemple 'del 1d67c0d23e859ed4a259749e4a720d9e*.*' pourrait fonctionner.

0 votes

Tu as essayé les wildcards. Pas de chance.

1 votes

La prochaine chose à laquelle je pense est de démarrer le système avec un CD Linux (comme System Rescue CD), monter le volume là-bas et essayer la suppression à partir de là. Vous pourriez obtenir des résultats intéressants à ce stade, car qui sait ce qui se passe réellement dans le système de fichiers.

0 votes

@MichaelKohne : Je pense que l'utilisation d'une implémentation de chemin Unix est également la bonne solution. Mais pourquoi utiliser Linux? Windows est exécuté en tant que sous-système NT, et il existe déjà un sous-système NT POSIX/Unix.

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