Renommer un nom de fichier invalide dans NTFS

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

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

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

  • Mise en forme du disque flash;
  • Renvoyant à mon ami et lui demandant de le renommer;
  • Chargement dans certains Linux en direct et renommage.

Cependant, je cherche 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.

Toutes les API Win32 utilisent la barre oblique inverse comme séparateur de répertoire. Il y a peu de chances que le sous-système POSIX l'accepte comme partie du nom de fichier, donc vous pouvez essayer mv partir de Services pour Unix .


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

J'ai trouvé que 7zip peut souvent faire face à des fichiers étranges lorsque Windows échoue (utile pour les chemins trop longs pour supprimer normalement). Donnez-le au test.

Vous pouvez utiliser CHKDSK /F partir de l'invite DOS pour corriger les erreurs, puis RD /S <DIR><DIR> est le répertoire que vous souhaitez supprimer. Faites attention car cela supprimera le répertoire et tous ses sous-répertoires.

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

7zip est un utilitaire de compression de fichiers freeware, mieux que RAR.