Comment puis-je supprimer un dossier avec des caractères "illégaux"?

J'ai branché mon memory-flash USB dans un Mac et il a gagné des dossiers cachés indésirables. (Voir la question Empêcher MacOS de créer des fichiers. * Et ._ * pour la prévention.)

J'aimerais maintenant supprimer ceux-ci de mon lecteur, mais j'ai rencontré un problème. À l'intérieur du dossier fseventsd est un sous-dossier qui n'est pas affiché à moins que je désactive "Masquer les fichiers protégés du système d'exploitation" dans les options de dossier. Je suis ensuite montré une icône de dossier sans nom, et essayer de le supprimer entraîne aucune action et aucune erreur. Tenter de l'ouvrir entraîne l'erreur:

E: \ fseventsd \ n'est pas accessible

Le nom du fichier, le nom du répertoire ou la syntaxe de l'étiquette du volume est incorrect.

J'ai donc jeté un coup d'oeil à l'aide de la commande:

Invite de commandes Vue du dossier caché

Je dois avouer, si je ne savais pas que le dossier parent provenait de Mac OSX, j'aurais fortement soupçonné un virus, car le nom du dossier est un visage souriant dans ASCII.

Apparemment, c'est le caractère ASCII "01":

Ancien graphique ASCII

Toutes les commandes que j'ai émises dans l'invite de commande ont également généré diverses erreurs de syntaxe. J'ai décidé d'essayer Powershell.

Malheureusement 1) Je n'ai pas beaucoup d'expérience avec Powershell, et 2) il semble avoir une difficulté similaire avec le nom de dossier étrange. J'ai eu l'erreur suivante dans Powershell en essayant simplement de répertorier le contenu du répertoire parent:

Get-ChildItem: caractères illégaux dans le chemin d'accès.

Erreur Powershell

Comment puis-je supprimer ce dossier?

    J'ai pu "corriger" ceci en exécutant chkdsk /f sur le lecteur. Il a converti le dossier fseventsd en un fichier qui a été facilement supprimé. Cependant, je ne sais pas si ce "correctif" était parce que le sous-dossier semblait brisé à chkdsk, ou s'il y avait autre chose sur le volume qui permettait à cela de fonctionner.

    Offrant ceci comme une réponse au cas où cela fonctionnerait pour les autres.

    Malheureusement, il existe des noms de fichiers que les API Windows ne peuvent pas gérer.

    Si vous souhaitez simplement supprimer les fichiers, vous pouvez déplacer tous les fichiers que vous souhaitez garder hors tension, puis reformater le lecteur flash.

    Si vous souhaitez conserver tous vos fichiers, vous devrez utiliser un autre système d'exploitation pour les renommer – soit revenir au Mac que vous avez utilisé à l'origine, soit utiliser un CD Linux Live.

    Une autre option qui fonctionnerait – si vous ne voulez pas aller sur un autre ordinateur ou fermer Windows – c'est installer Linux dans Virtualbox . Vous pouvez ensuite utiliser le pilote de filtre USB pour accorder le contrôle du système d'exploitation client Linux sur le lecteur USB et renommer les fichiers dans Virtualbox.

    Je suis plutôt sûr qu'il existe une troisième façon de le faire, du moins sous Windows XP.

    Faites un clic droit sur le fichier dans explorer. Le nom du fichier aura un espace réservé étrange à la place du caractère illégal. Retirez-le et fermez la fenêtre des propriétés. Il renomme le fichier. Au moins, c'est dans mon expérience.

    À votre santé

    J'ai eu le même problème et l'ai résolu comme suit:

    • Installer NFS sur le serveur Windows du PC
    • Montez le fichier Windows sur un ordinateur Linux ou, dans mon cas, un serveur Solaris Unix
    • L'utilisateur root Unix doit avoir un accès complet au PC Windows
    • Supprimez les fichiers du dossier du système Unix avec rm -r