Renommer un nom de fichier non valide dans NTFS

9

Récemment, j'ai prêté mon disque flash à un de mes amis, qui avait Mac OS. Il y a copié un fichier, dont le nom comprenait une barre oblique inverse (\).

Le disque flash est au format NTFS. Windows n'autorise pas ces noms de fichiers et n'ouvre ni ne supprime le fichier, ni ne me permet de supprimer le fichier.

Il existe des approches naïves à ce problème, comme:

  • Formatage du disque flash;
  • Le redonner à mon ami et lui demander de le renommer;
  • Chargement dans certains Linux live et renommage.

Cependant, je recherche quelque chose de plus intelligent, comme un programme qui peut faire l'affaire sous Windows.

PS: Il existe un outil appelé NTFSWalker qui peut parcourir les enregistrements MFT du NTFS, mais ne peut y apporter aucune modification.

MS Dousti
la source
2
Vous trouverez Comment forcer Windows XP à renommer un fichier avec un caractère spécial? une lecture utile aussi - la seule vraie réponse était d'utiliser Linux.
DMA57361
Essayez Vérifier le disque. (Faites un clic droit sur l'icône du disque → Propriétés → Outils → sous Vérification des erreurs, cliquez sur Vérifier maintenant → cochez Corriger automatiquement les erreurs du système de fichiers.) C'était l'une des suggestions de la question liée ci-dessus, mais elle n'a jamais été essayée.
Bavi_H
@Bavi_H: Désolé, Check Disk n'a pas fonctionné non plus.
MS Dousti

Réponses:

5

Toutes les API Win32 utilisent la barre oblique inverse comme séparateur de répertoire. Il y a une légère chance que le sous-système POSIX l'accepte comme partie du nom de fichier, vous pouvez donc essayer à mvpartir des Services pour Unix .


Je ne dirais pas que l'utilisation de Linux pour réparer est "naïve", si Unix était ce qui l'a brisé en premier lieu.

user1686
la source
J'ai essayé mvavant. Ça n'a pas marché.
MS Dousti
A propos de "naïf": je voulais dire une solution qui me vient à l'esprit en premier lieu.
MS Dousti
@Sadeq: De quoi mvparlez-vous?
user1686
2
@Sadeq: Les deux sont des programmes Win32 simples. J'ai explicitement mentionné les services pour Unix pour une raison - ses programmes s'exécutent dans un sous - système "POSIX" distinct , avec des règles différentes de celles de Win32.
user1686
1
Le sous-système POSIX permet également NtOpenFiled'ouvrir des fichiers et NtOpenFiletraite le chemin dans son ensemble, pas comme une série de composants (il existe un indicateur pour utiliser la sémantique "POSIX", mais c'est uniquement pour la casse) - il suit donc les mêmes règles.
user541686
3

J'ai trouvé que 7zip peut souvent traiter des fichiers étranges lorsque Windows échoue (utile pour les chemins trop longs pour être supprimés normalement) - essayez cela.

Dentrasi
la source
Désolé. 7zdonne la même erreur que Windows.
MS Dousti
Ça ne marche pas non plus pour moi
Mark Jeronimus
2
7z a fait de la magie pour mon cas, qui était un nom de fichier se terminant par un caractère spatial non conforme. J'ai essayé une tonne d'utilitaires pour gérer cela, mais seulement 7z a fonctionné.
Mike Simpson
2

Vous pouvez utiliser à CHKDSK /Fpartir de l'invite DOS pour corriger les erreurs, puis RD /S <DIR>où se <DIR>trouve le répertoire que vous souhaitez supprimer. Soyez prudent car cela supprimera le répertoire et tous ses sous-répertoires.

julien
la source
-1

J'ai ouvert le dossier avec des fichiers de caractères inaccessibles dans le gestionnaire de fichiers 7zip. Là, je l'ai renommé et BINGO, il a été renommé. J'ai ainsi pu accéder au fichier.

7zip est un utilitaire de compression de fichiers gratuit, meilleur que RAR.

Arun
la source
5
Votre réponse n'est-elle pas la même que celle de Dentrasi?
MS Dousti