Comment forcer Windows à renommer un fichier avec un caractère spécial?

86

J'ai une chanson que Windows ne peut pas lire car il y a un point d'interrogation dans le nom du fichier.

"Where Have All the Cowboys Gone?.ogg" // as an example

J'essaie donc de le renommer et Windows se plaint de l'avoir essayé dans l'explorateur ou à partir d'une invite de commande.

L'erreur que j'obtiens en essayant de copier, renommer ou déplacer est:

La syntaxe du nom de fichier, du nom de répertoire ou de l'étiquette de volume est incorrecte

Existe-t-il un moyen Windows pour forcer un changement de nom dans ce cas?

Mise à jour

Je garderai un œil sur cette question, mais après 13 réponses et de nombreuses tentatives (à part des solutions tierces), il semble que Windows ne puisse pas le faire (ou du moins, ma fenêtre ne le peut pas, pas de noms abrégés). Donc, j'accepte la réponse qui était de toute façon ma solution originale d'utiliser Linux. Ce serait bien de voir Windows gérer cela d'une manière ou d'une autre, alors ne vous arrêtez pas simplement parce que j'ai accepté cette réponse, la question est toujours d'actualité!

codeLes
la source
5
Puis-je vous demander comment vous en êtes arrivé à cet état? Windows ne vous laissera généralement pas faire cela.
Michael Kohne
et la réponse est que j'ai obtenu le fichier à partir d'une machine Linux. c'est aussi un fichier .ogg. mais je me demandais depuis que je suis au travail et je n'ai pas mon linux comment le faire dans les fenêtres ... ce serait bien de savoir
codeLes
6
Le système de fichiers NTFS autorise certains caractères que Windows n’a pas. Si Windows rencontre de tels fichiers, il le fait.
Colonel Panic
1
Une fois que ma clé USB a mal tourné, chkdsk a déplacé les fichiers dans un secteur différent mais a conservé les noms endommagés contenant des caractères amusants tels que CRLF ou même un retour arrière. :)
Nulano
1
@ IvanChau: Pas un doublon. Cette autre question concerne un espace dans le nom, qui est en fait un morceau de gâteau, contrairement à celui-ci (avec un caractère générique).
Sz.

Réponses:

42

Prenez un live-cd linux et utilisez-le.

salmonmose
la source
De chez moi, j’utilise quand même linux ... et le fichier est sur un disque dur portable, je me demandais si Windows pouvait le gérer ... quelque chose comme une commande <b> Sudo </ b> windows ou quelque chose
codeLes
Il s'agit d'un problème de caractère générique, pas d'un problème d'autorisation. Sous Linux, à peu près tout est un caractère valide dans un nom de fichier (y compris les sauts de ligne) sous Windows, il existe un ensemble de caractères réservés et aucun moyen efficace de les échapper.
salmonmoose
3
Les récentes distributions Linux comme Ubuntu prennent en charge avec succès les fonctionnalités les plus importantes de NTFS.
Atmocreations
1
Ubuntu 9.04 est absolument sans faille avec le support NTFS, avec un ou deux ennuis (par exemple, en cas de coupure de courant, et si vous démarrez Ubuntu pour gagner quelques secondes, vous ne pouvez pas accéder à votre partition Windows tant que vous ne le redémarrez pas)
Phoshi
1
@ Pacerier en théorie, vous pourriez le faire, mais cela voudrait dire que vous montez le lecteur simultanément sur plusieurs systèmes d'exploitation, ce qui est généralement une mauvaise idée. Arrêtez et démarrez dans le nouveau système d'exploitation.
salmonmoose
29

Avez-vous essayé d'utiliser la version des noms de fichiers courts de son nom? Par exemple

ren whereh~1.ogg where.ogg

S'il s'agit du seul fichier du dossier en cours qui commence par les premières lettres, utilisez les 6 premières lettres du nom (espaces non respectés) suivies d'un tilde (~), puis d'un 1.

GAThrawn
la source
12
Comme la génération de noms abrégés est facultative, en fonction de la configuration actuelle de Windows, Murphy déclare que les noms abrégés de l'OP sont désactivés et que le fichier n'en aura pas. Pour connaître le nom abrégé s'il est présent pour n'importe quel fichier, utilisez DIR / X qui ajoutera une colonne indiquant le nom abrégé de tout fichier où il diffère du nom long, s'il en contient un. S'il y a un nom court, ce serait une réponse plausible.
RBerteig
Vous devriez vraiment essayer ceci ... Les noms de fichiers courts peuvent parfois être utiles.
alex
4
pas de noms abrégés, j'ai essayé votre exemple et le répertoire / x prouve qu'il n'y en a pas.
codeLes
24
  1. Sous Windows 7: Exécutez cmd.exe en mode Administrateur.
  2. cd dans le répertoire avec les noms de fichiers.
  3. run: chkdsk / V / f [Mes fichiers défectueux se trouvaient sur un autre lecteur que celui du système d'exploitation. Il a donc été possible de le démonter. S'il s'agit du lecteur du système d'exploitation, il faudra peut-être effectuer cette étape au démarrage.]
  4. Attendez (peut avoir à redémarrer).

Comme vous le verrez, chkdsk a effectivement supprimé les fichiers pour moi. Donc, si vous voulez conserver les fichiers, je ne sais pas quoi faire, mais cela les éliminera à coup sûr.

Résultats / Journal Cmd:

E:\islag\Music\llb>dir
 Volume in drive E is FreeAgent Drive
 Volume Serial Number is 5038-892A

 Directory of E:\islag\Music\llb

02/02/2011  12:18 PM    <DIR>          .
02/02/2011  12:18 PM    <DIR>          ..
04/04/2010  02:19 PM         4,014,099 01 Los Lonely Boys - Se?orita - www.file2
4ever.com.mp3
04/04/2010  02:18 PM         3,125,942 12 Los Lonely Boys - La Contestaci?n - ww
w.file24ever.com.mp3
               2 File(s)      7,140,041 bytes
               2 Dir(s)  87,743,991,808 bytes free

E:\islag\Music\llb>chkdsk /V
The type of the file system is NTFS.
Volume label is FreeAgent Drive.

WARNING!  F parameter not specified.
Running CHKDSK in read-only mode.

CHKDSK is verifying files (stage 1 of 3)...
  231424 file records processed.
File verification completed.
  34 large file records processed.
  0 bad file records processed.
  0 EA records processed.
  0 reparse records processed.
CHKDSK is verifying indexes (stage 2 of 3)...
18 percent complete. (29338 of 245164 index entries processed)
An invalid filename 01 Los Lonely Boys - Se?orita - www.file24ever.com.mp3 (3196
6) was found in directory 31962.
All filenames for File 31966 are invalid.
Minor file name errors were detected in file 31966.
An invalid filename 12 Los Lonely Boys - La Contestaci?n - www.file24ever.com.mp
3 (31973) was found in directory 31962.
All filenames for File 31973 are invalid.
Minor file name errors were detected in file 31973.
73 percent complete. (233817 of 245164 index entries processed)
Index entry 01 Los Lonely Boys - Se?orita - www.file24ever.com.mp3 in index $I30
 of file 31962 is incorrect.
Index entry 12 Los Lonely Boys - La Contestaci?n - www.file24ever.com.mp3 in ind
ex $I30 of file 31962 is incorrect.
  245164 index entries processed.
Index verification completed.

Errors found.  CHKDSK cannot continue in read-only mode.

E:\islag\Music\llb>dir
 Volume in drive E is FreeAgent Drive
 Volume Serial Number is 5038-892A

 Directory of E:\islag\Music\llb

02/02/2011  12:18 PM    <DIR>          .
02/02/2011  12:18 PM    <DIR>          ..
04/04/2010  02:19 PM         4,014,099 01 Los Lonely Boys - Se?orita - www.file2
4ever.com.mp3
04/04/2010  02:18 PM         3,125,942 12 Los Lonely Boys - La Contestaci?n - ww
w.file24ever.com.mp3
               2 File(s)      7,140,041 bytes
               2 Dir(s)  87,743,991,808 bytes free

E:\islag\Music\llb>chkdsk /V /f
The type of the file system is NTFS.
Cannot lock current drive.

Chkdsk cannot run because the volume is in use by another
process.  Chkdsk may run if this volume is dismounted first.
ALL OPENED HANDLES TO THIS VOLUME WOULD THEN BE INVALID.
Would you like to force a dismount on this volume? (Y/N) y
Volume dismounted.  All opened handles to this volume are now invalid.
Volume label is FreeAgent Drive.

CHKDSK is verifying files (stage 1 of 3)...
  231424 file records processed.
File verification completed.
  32 large file records processed.
  0 bad file records processed.
  0 EA records processed.
  0 reparse records processed.
CHKDSK is verifying indexes (stage 2 of 3)...
18 percent complete. (29339 of 245164 index entries processed)
Deleted invalid filename 01 Los Lonely Boys - Se?orita - www.file24ever.com.mp3
(31966) in directory 31962.
File 31966 has been orphaned since all its filenames were invalid
Windows will recover the file in the orphan recovery phase.
Correcting minor file name errors in file 31966.
Deleted invalid filename 12 Los Lonely Boys - La Contestaci?n - www.file24ever.c
om.mp3 (31973) in directory 31962.
File 31973 has been orphaned since all its filenames were invalid
Windows will recover the file in the orphan recovery phase.
Correcting minor file name errors in file 31973.
73 percent complete. (233642 of 245164 index entries processed)
Deleting index entry 01 Los Lonely Boys - Se?orita - www.file24ever.com.mp3 in i
ndex $I30 of file 31962.
Deleting index entry 12 Los Lonely Boys - La Contestaci?n - www.file24ever.com.m
p3 in index $I30 of file 31962.
  245164 index entries processed.
Index verification completed.
CHKDSK is scanning unindexed files for reconnect to their original directory.
  2 unindexed files scanned.
CHKDSK is recovering remaining unindexed files.
  2 unindexed files recovered.
CHKDSK is verifying security descriptors (stage 3 of 3)...
  231424 file SDs/SIDs processed.
Cleaning up 41 unused index entries from index $SII of file 9.
Cleaning up 41 unused index entries from index $SDH of file 9.
Cleaning up 41 unused security descriptors.
Security descriptor verification completed.
  6871 data files processed.
CHKDSK is verifying Usn Journal...
  1116928 USN bytes processed.
Usn Journal verification completed.
Correcting errors in the master file table's (MFT) BITMAP attribute.
Windows has made corrections to the file system.

 244196000 KB total disk space.
 158175168 KB in 30003 files.
     22820 KB in 6873 indexes.
         0 KB in bad sectors.
    306168 KB in use by the system.
     65536 KB occupied by the log file.
  85691844 KB available on disk.

      4096 bytes in each allocation unit.
  61049000 total allocation units on disk.
  21422961 allocation units available on disk.

E:\islag\Music\llb>dir
 Volume in drive E is FreeAgent Drive
 Volume Serial Number is 5038-892A

 Directory of E:\islag\Music\llb

02/02/2011  12:18 PM    <DIR>          .
02/02/2011  12:18 PM    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  87,743,979,520 bytes free

E:\islag\Music\llb>
Aubrey Island
la source
A parfaitement fonctionné! Cela devrait être la réponse.
enb081
2
@ enb081 Non, cela ne devrait pas être la réponse, car cela n'a rien à voir avec la question, qui était comment renommer les fichiers. Sheesh.
Jim Balter
12

chkdskrésoudra parfois les noms de fichiers invalides. Vous recevrez un message sur la suppression du fichier car tous les noms de fichier ne sont pas valides, puis sur la récupération d'un fichier perdu. Vous pouvez ensuite trouver le fichier dans C:\found.000\file0000.chk. C'est un moyen efficace de supprimer les fichiers problématiques, mais ce n'est pas le meilleur moyen de les conserver.

gohop
la source
Cette astuce simple m'a aidé. Je m'étais résigné à perdre le fichier après que chkdsk ait fait son travail, mais cette réponse m'a rappelé \found.000.
Davidbak
Merci. c'est un moyen simple mais efficace
علضرضا
11

La façon dont j'ai supprimé le fichier têtu consistait à ouvrir 7zip, à rechercher le fichier et à le renommer via 7zip. La mienne était une chanson qui avait un espace à la fin du fichier.

anon
la source
Vous voulez dire que le fichier lui-même n'était même pas dans une archive, mais que vous veniez d'utiliser 7-Zip pour le renommer sur le système de fichiers? Intelligent.
Arjan
Cela fonctionne très bien. J'ai essayé plusieurs des autres options ici, et c'était la première qui a fonctionné.
Rakensi
1
7zip a pu renommer votre fichier car les noms de fichiers qui se terminent par des espaces ne posent pas de problème sous Windows. Les noms de fichiers contenant '?' sont un problème et 7zip ne peut pas les renommer.
Jim Balter
Cela a parfaitement fonctionné pour moi, car mon problème s'est avéré ne pas être de véritables points d'interrogation, mais des caractères Unicode étranges qui ne faisaient que s'afficher en tant que points d'interrogation dans mon gestionnaire de fichiers. En important les fichiers (il y en avait des centaines) dans une archive 7-Zip, puis en les réexportant, 7-Zip convertissait simplement les caractères incorrects en caractères de soulignement (_). Ensuite, j'ai pu travailler à nouveau avec les fichiers. Problème complètement résolu. Merci pour un excellent conseil!
Jesper
Je ne peux pas renommer les fichiers avec le caractère ":": i.imgur.com/dZBqqeP.png
user598527
11

Essayez de spécifier le chemin UNC (voir Nommer des fichiers, des chemins et des espaces de noms ). Cela contourne toutes sortes de restrictions. Vous le feriez en utilisant la \\?\syntaxe.

Exemple, si votre fichier était sur votre bureau (et votre lecteur Windows est C :), vous pouvez le faire.

copy "\\?\C:\Users\codeLes\Desktop\Where Have All the Cowboys Gone?.ogg" "\\?\C:\Users\codeLes\Desktop\Where Have All the Cowboys Gone.ogg"

Remarque: Vous ne pouvez pas utiliser de chemins relatifs avec cette syntaxe. vous devez spécifier le chemin complet. Et cela ne fonctionne pas avec la rencommande, mais fonctionne avec copyet move.

Joshua
la source
4
J'ai essayé, pas de chance "Le nom du fichier, le nom du répertoire ou l'étiquette du volume est incorrect." Merci! J'arrive au point où je pense que la bonne réponse est d'utiliser Linux pour le renommer (ce que j'ai fait).
codeLes
Cette réponse est définitivement fausse. La restriction sur les caractères valides se trouve dans le pilote NTFS du noyau Windows. \\?\contourne simplement le traitement du chemin de fichier dans la bibliothèque d’exécution en mode utilisateur. Il n'autorise pas l'ouverture de noms de fichiers qui contiennent les 5 caractères génériques (*? "<>), D'autres caractères réservés (/ |: \) ou des caractères de contrôle.
Eryk Dim
Cela fonctionne dans mon cas: j'ai eu un nom de fichier avec le caractère Unicode à l'intérieur et avec la fin \n . Ne me demandez pas comment je l'ai créé (enfin, j'essaie de voir si vous pouvez créer plusieurs fichiers portant le même nom sous Windows). Explorer, FreeCommander n'a pas pu le supprimer mais le \\?\C:\...peut.
Dio Phung
8

Utilisez Recuva . Il est principalement destiné à la récupération de fichiers supprimés, mais il dispose également d'une option permettant d'inclure des fichiers non supprimés dans son analyse.

Après avoir lancé Recuva, refusez l’assistant et sélectionnez le bon disque. Ensuite, allez dans Options, recherchez et cochez l'option "Rechercher les fichiers non supprimés" et lancez l'analyse. Au bout d'un moment, tous les fichiers du disque (supprimés ou non) seront affichés. Recherchez vos fichiers avec des noms non valides (les noms sont déjà fixes dans la vue), sélectionnez-les, faites un clic droit et enregistrez ("récupérez") quelque part.

entrez la description de l'image ici

Je viens de le faire (sous Windows XP).

Jan Lachnitt
la source
A bien fonctionné pour un nom de fichier avec un fichier incorporé /nque 7-zip ne pourrait pas manipuler.
Davidbak
5

L'outil Microsoft DISKEDIT.EXE est un outil de bas niveau permettant de lire et d'écrire directement des données de disque brutes. Vous devriez pouvoir charger le cluster contenant l'entrée de répertoire pour ce fichier et simplement changer le comportement "?" caractère à quelque chose d'inoffensif et l'écrire sur le disque.

D'après ce que j'ai compris, l'outil Diskedit de Microsoft (et non l'outil Norton Utilities du même nom, réservé aux volumes FAT) a été vu pour la dernière fois dans Windows 2000 SP4. Mais il existe un lien vers celui-ci qui peut être trouvé ici .

Pour localiser le bon cluster, vous pouvez télécharger une version d' évaluation de DiskExplorer pour NTFS .

Vous commenceriez par Fichier-> Lecteur ... pour ouvrir le lecteur contenant ce fichier défectueux. Sélectionnez Goto-> Répertoire racine pour obtenir une vue de répertoire. Accédez au répertoire contenant votre mauvais fichier en utilisant les liens MFT #. Lorsque vous y arrivez, le haut de la fenêtre affiche quelque chose du type "MFT # x12345 DIR: 'dirname', ... blah blah blah ... à partir du groupe x9302AE , ... blah blah blah"

Passez maintenant à Microsoft diskedit. Commencez par Fichier -> Ouvrir ... et spécifiez le nom du volume C: (si le fichier se trouve sur votre lecteur C:). Laissez le nom du fichier de volume vide. Prenez ce numéro de cluster de départ et entrez-le dans diskedit sous Read-> Clusters NTFS ...-> Cluster de départ (entrez-le sous forme de nombre hexadécimal).

Maintenant, utilisez les touches fléchées pour faire défiler jusqu'au nom de fichier incorrect. Il est en unicode, vous allez donc chercher quelque chose comme "Où. Avez-vous. Des. Cowboys. Fini? ... ogg" Placez votre curseur sur le mauvais caractère "3F" et tapez quelque chose de sûr, comme 5F (' _ '). Choisissez Write-> It pour l'écrire sur le disque.

Il y a un autre endroit à frapper (pas sûr si un ou les deux sont nécessaires). Maintenant, de retour dans DiskExplorer, cliquez sur le Mft # pour le fichier endommagé. Vous obtiendrez un écran avec une arborescence à gauche qui dit "structures". Cliquez sur "Attributs" dans l'arborescence. Il vous montrera une liste d'attributs, dont l'un sera quelque chose comme $ 30 ... $ FILE_NAME. Donc, $ 30 a le nom du fichier. Cliquez sur le nœud du corps situé sous le nœud $ 30 dans l'arborescence des structures. Sélectionnez le menu View-> as Hex. Quelques lignes plus bas, vous devriez voir à nouveau le nom du fichier Where .Have .. etc. Sur le côté gauche de l'écran, vous verrez la colonne Secteur, qui indique le secteur du disque que vous regardez.

Retour sur le diskedit. Lisez-> Secteurs ... et entrez le numéro du secteur à partir de DiskExplorer. Comme précédemment, faites défiler vers le bas et remplacez le caractère "3F" par le même caractère que ci-dessus. Choisissez Write-> It pour l'écrire sur le disque.

J'ai fait tout ça, et les outils me disent que j'ai changé de personnage, mais l'explorateur ne le fait pas. Le répertoire doit être mis en cache quelque part. Après un redémarrage, le changement devient visible.

utilisateur14068
la source
+1 pour la bonne approche (mais plus ou moins irréalisable), en espérant que cela bouillonne un peu et dépasse au moins certaines des mauvaises réponses. ;)
Sz.
5

Essayez d’utiliser un outil tiers tel que l’ outil Ken Rename :

Capture d'écran de Ken Rename

ou renommer le maître .

entrez la description de l'image ici

Voici une liste des outils de changement de nom de fichier .

Je les testerais moi-même, mais j'utilise Windows Vista 64 bits; le traitement du fichier peut être différent.

Si ces outils échouent, vous voudrez peut-être essayer Windows PowerShell . Voir Renommer des fichiers sur le blog Windows PowerShell .

bravoure
la source
J'ai essayé Directory Opus et cela n'a pas fonctionné (même message d'erreur).
user14068
J'ai essayé Flexible Renamer 8.4 qui semble faire l'affaire. Provenant du même site Web que vous avez mentionné.
JohnnyBizzle
4

Avez-vous essayé de le déplacer dans un fichier portant le bon nom?

move "Where Have All the Cowboys Gone?.mp3" "Where Have All the Cowboys Gone.mp3"
Tom Kidd
la source
2
essayé, pas de chance. "La syntaxe du nom de fichier, du nom de répertoire ou du libellé de volume est incorrecte"
codeLes
Cela a fonctionné pour moi avec la copycommande.
Nicolas
@ Nicolas, vous voulez dire qu'il y avait un ?ou *ou <ou >ou :dans le nom, et copy-ing a juste travaillé? (Je viens de l'essayer et ce n'est pas pour moi, sans surprise.)
Sz.
@Sz. désolé d'entendre que cela n'a pas fonctionné pour vous. Je ne me souviens pas du nom de fichier que j'ai dû renommer, mais cela a fonctionné pour moi avec la copycommande. Avez-vous également essayé cygwinet la commande bash mv?
Nicolas
1
@Nicolas, merci pour essayer d'aider, mais mon point est que ces caractères I énumérés ci - dessus (et quelques autres, comme ", |, /et bien sûr la barre oblique inverse (que je ne peux pas sembler entrer ici :))) sont en une classe différente de caractères problématiques ( réservés ), et j'ai bien peur que ni la copycommande ni ceux-ci Cygwinne puissent en venir à les renommer. (Votre nom de fichier problématique pose probablement des caractères différents.)
Sz.
4
  • S'il s'agit de plus d'un fichier, créez un nouveau répertoire avec un nom simple, par exemple a.
  • Déplacez un seul fichier à chaque fois dans ce répertoire.
  • Dans cmd.exeallez au nouveau répertoire et tapez ce qui suit:

    ren *.ogg 1.ogg   
    

    C'est pour la simplicité. Ensuite , vous pouvez le renommer en XP que vous voulez, comme 1.oggà Where Have All the Cowboys Gone.ogg. oggétait juste un exemple, l'extension peut être n'importe quoi.

temps
la source
Hein? Comment êtes-vous censé déplacer ce fichier (d'OP) avec le caractère générique dans son nom?
Sz.
4

Si vous avez installé Cygwin, il devrait pouvoir gérer le fichier. J'ai eu ce problème tout à l'heure et utiliser rm de Cygwin dans un shell bash a été en mesure de supprimer le fichier correctement sans application Windows, y compris Explorer et l'utilisation de la spécification de fichier UNC avec CMD.exe aidée.

J'imagine que mv le ferait si vous vouliez conserver le fichier.

Une configuration de base Cygwin ne prend que quelques minutes et je la garde toujours malgré tout car il y a tellement de bons outils. C'est plus facile que de démarrer Linux, même en utilisant un live CD.

ConceptJunkie
la source
J'ai essayé, cygwin n'a pas pu supprimer le fichier ("Aucun fichier ni répertoire"). Bonne idée cependant.
JulianHzg
Cela a fonctionné pour moi, ou en utilisant le MSYS2 similaire (une réécriture de MSYS, un fork de Cygwin) sous Windows 8.1. J'ai pu mv le fichier sous un nouveau nom, puis le supprimer normalement. Mon fichier avait un espace à la fin et il est apparu en utilisant 'dir' - 'ls' ne l'a pas montré cependant.
Brian Burns
@ bburns.km, vous avez au moins qualifié votre énoncé «travaille pour moi». Bien sûr, cela fonctionne pour un nom de fichier avec juste un espace à la fin. \\?\fonctionnerait également dans ce cas - s’il est utilisé correctement avec un chemin Unicode pleinement qualifié. Elle contourne le code de la bibliothèque d'exécution en mode utilisateur qui émule une ancienne règle MS-DOS originale des années 80 qui ignore les espaces à la fin des noms. Le problème avec les caractères non valides et réservés ne peut pas être traité comme ceci.
Eryk Sun
3

En supposant que le volume en question est FAT32 ou NTFS, essayez d’exécuter chkdsk. Cela devrait nettoyer les entrées de répertoire "corrompues", ce qui signifierait (dans ce cas) supprimer le fichier?. Si c'est le volume de démarrage, vous aurez peut-être besoin d'un redémarrage pour le faire.

Michael Kohne
la source
J'ai eu un nom de dossier avec un :et faisant cela a fait disparaître le répertoire. Ne fais pas ça.
leeand00
1
En fait, chkdskj'ai déplacé le contenu du dossier dans le répertoire racine du
disque dur
3

Cela devrait marcher (du moins, ça l'a fait pour moi):

dir /X *cowboys*

Cette commande produirait quelque chose semblable à ceci:

08/11/2011  15:21    <DIR>          WH5E97~1     Where Have All the Cowboys Gone
?.ogg

C'est WH5E97~1ce que vous cherchez!
(Remarque: ce code est totalement inventé, mais devrait être similaire à celui que vous trouverez)

Sachant cela, un simple

rename WH5E97~1 "Where Have All the Cowboys Gone.ogg"

devrait faire l'affaire.

J'espère que ça aide.

cerveau non câblé
la source
Belle solution. Devrait fonctionner, mais ne fonctionne que si le nom du fichier est plus long que 8 caractères (donc pas dans mon cas).
JulianHzg
Pas nécessairement. D' après la documentation frappe dir t97*renvoie les deux fichiers, car le caractère générique astérisque correspond le fichier t.txt2à t97.txtl'aide de sa courte carte de nomT97B4~1.TXT
unwiredbrain
2

as-tu essayé:

type "Where*.ogg" > "Where.ogg"

pourrait fonctionner.

Atmocreations
la source
1
Le nom du fichier, le nom du répertoire ou la syntaxe de l'étiquette du volume est incorrecte.
Ciaran
1

Essayez un joker en déplacement -

move "Where Have All the Cowboys Gone*.mp3" "Where.mp3"

C'est probablement votre meilleur pari, tant qu'il n'y a qu'un seul fichier qui correspond au caractère générique.

Michael Kohne
la source
En fait, dans ce cas, il devrait déjà fonctionner avec le nom de fichier tel quel, car le point d'interrogation est un caractère générique. Pas besoin de l'astérisque cette fois.
Synetech
1
Malheureusement, cela ne fonctionne pas, ni avec le nom de fichier d'origine, ni avec un caractère générique plus général tel que * .mp3.
JulianHzg
1

glisser et déposer dans un nouveau dossier, naviguer dans l'invite de commande jusqu'à ce dossier et taper

ren *.* test.ogg
William Hilsum
la source
1
glisser et déposer échoue aussi avec la même erreur ... merci bien
codeLes
6
Inversement, vous pouvez essayer de déplacer tout le reste du dossier en question.
là-
1

Essayez cygwin pour renommer le fichier:

la commande serait: mv filename?.ogg filename.ogg

Keck
la source
J'ai essayé cygwin une fois sur Vista, mais je n'ai pas le droit d'y accéder sur ma machine de travail actuelle ...
codeLes
ne fonctionne pas, a essayé Win7 64b
Max
1

La plupart des commandes internes de Microsoft sont contrôlées avec la présence de explorer.exe.

Ouvrez votre gestionnaire de tâches et examinez la liste des processus actifs en cours. Vous trouverez explorer.exeparmi eux. Cliquez avec le bouton droit et terminez / arrêtez / fermez explorer.exe. Ne fermez pas encore le gestionnaire de tâches. Maintenant, allez dans le fichier offensif en utilisant un gestionnaire de fichiers secondaire et essayez de supprimer ou de renommer avec des caractères génériques. Ce sera probablement réussi.

Maintenant, revenez à la fenêtre du Gestionnaire des tâches et cliquez avec le bouton droit de la souris sur la ligne supérieure du message Applications, puis sur le bouton du bas indiquant New Task. Entrez explorer.exe. Explorer réapparaît et le fichier offensif n’est plus là.

Doktoro Reichard
la source
1

L’interface graphique WinRAR vous permettra de renommer les fichiers sans même avoir à les ranger dans une archive. Je l'ai testé sous Windows 8.1, sur un nom de fichier très long. Travaillé comme un charme.

KellyRavenholm
la source
1

Si vous avez WinRAR, compressez-le sur WinRAR, renommez-le sur WinRAR, décompressez-le.

Ou vous pouvez essayer avec un script VBScript, prendre le script suivant et l’enregistrer dans un fichier avec une extension .vbs .

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

fso.MoveFile "Where Have All the Cowboys Gone?.ogg", "Where.ogg"
Jhonny D. Cano -Leftware-
la source
2
Je n'ai pas WinRAR au travail et ma machine de travail n'est pas sur le net. J'ai bien 7zip, de toute façon je peux le faire avec 7zip, je viens d'essayer et cela ne m'a pas laissé l'ajouter à l'archive ... même erreur :-)
codeLes
tryijng votre script génère une erreur "chemin introuvable" (code: 800A004C). est-il important que ce fichier se trouve sur un lecteur USB externe? Je mets le fichier dans le même dossier ... Je vais essayer de coder en dur l'emplacement du fichier entier suivant
codeLes
nom qualifié complet pas de travail non plus ...
codeLes
je suis d'accord sur l'option chkdsk
Jhonny D. Cano -Leftware-
J'ai essayé avec WinRAR. N'a pas fonctionné Même résultat.
user14068
1

J'ai également eu un problème similaire avec un dossier. Le nom du dossier était ".min." ce qui n'est normalement pas autorisé.

Renommer non autorisé (cliquez pour l'image)

En utilisant Winrar, j'ai pu résoudre ce problème. Ce que j'ai fait était

  • clic droit sur le dossier
  • sélectionnez 'Ajouter aux archives ...'
  • sélectionner un nouveau nom d'archive (sans noms spéciaux)
  • Dans les options d'archivage, sélectionnez "Supprimer les fichiers après l'archivage".
  • que sélectionnez OK

Add To Archive ... (cliquez pour l'image)

  • J'ai ensuite ouvert le fichier .rar
  • et renommé le fichier dans

Ceci est autorisé car Windows ne vérifie pas vraiment ce qui se trouve à l'intérieur du fichier .rar. Dès que vous modifiez le nom, extrayez le fichier et vous avez terminé.

J'espère que ça aide.

Lefteris Eleftheriou
la source
Ca ne marche pas pour moi Mon nom de fichier est 10:2.
Pacerier
0

Utilisez cmd.exe dans ce répertoire avec des caractères génériques. Par exemple:

ren "Where Have All the *.ogg" "Where Have All the Cowboys Gone.ogg"
harrymc
la source
Globbing est fait par la coquille.
Hello71
3
@ Hello71: Pas dans une boîte DOS, Linux Boy.
harrymc
0

Le gestionnaire de fichiers 7-Zip (7-zip.org) renommera les fichiers et les répertoires que XP ne peut pas. Je viens de l'utiliser pour extraire un fichier .tar et renommer le fichier .chm inclus, nommé illégalement. Aucun LiveCD requis.

Tschüß!

monseigneur
la source
0

J'ai eu un problème similaire avec 2 dossiers imbriqués avec des sous-dossiers. Je ne pouvais ni renommer ni supprimer certains fichiers (j'ai essayé de plusieurs façons). Enfin, j'ai trouvé la solution: Teracopy.

Installez-le, cliquez avec le bouton droit sur le dossier ou le fichier et sélectionnez teracopy. Teracopy s'ouvrira, puis cliquez simplement sur deleteou rename. Il va le renommer ou le supprimer.

Vous voudrez peut-être essayer.

Serkan Polat
la source
0

Je suis tombé dans la même situation.

En cherchant sur Google, j'ai appris qu'il n'y avait pas de solution native.

... et j'utilise comme shell le TCC de JPSoft, qui ne peut pas non plus gérer ces fichiers.

Mais j’ai aussi appris que Unlocker de Cedrick Collomb ( http://www.emptyloop.com/unlocker/ ) est capable de le gérer.

Et je l'avais dans ma configuration. Aussi, je le recommande vivement.

Eh bien, au moins cette solution n'implique pas de quitter l'environnement Windows ...

Marcus Vinicius Pompeu
la source
0

J'ai corrigé un fichier FLAC comme ceci en utilisant la commande d'ouverture de base de Winamp, en utilisant cette fenêtre de l'explorateur de programmes. Lorsque je suis allé dans le dossier, j'avais l'option de renommer, contrairement à Explorer.

Free-lance
la source
0

Je suis tombé sur une situation similaire. Aucune des solutions postées n'a fonctionné pour moi, mais j'ai finalement trouvé une solution simple:

  • Aucun outil externe nécessaire
  • Aucune connaissance d'aucun langage de programmation ou de script shell nécessaire

J'ai simplement copié le fichier (oui, la copie était encore possible pour moi) sur une clé USB, je l'ai renommé puis replacé! Je laisse le soin aux autres d'expliquer pourquoi cela a fonctionné.

David.
la source
0

Ce n'est pas une réponse directe (comme dans comment Windows peut-il renommer un fichier) mais cela fonctionne pour moi. Les fichiers illégaux sont généralement sur un lecteur externe, je connecte donc le lecteur externe à ma tablette Android . Cela me permet de renommer le fichier qui peut ensuite être lu par Windows. Cela concerne les caractères spéciaux, mais le problème habituel que je rencontre est un nom de fichier commençant ou se terminant par un espace ou se terminant par un '.'

J’ai essayé l’un des outils tiers FlexRenamer, mais le problème persiste.

JohnnyBizzle
la source
0

Dans la plupart des cas, cette réponse est inutile .
Je me suis fait avoir par les noms de fichiers dont les caractères sont représentés par des points d’interrogation alors qu’ils ne sont en fait que des caractères que les polices M $ par défaut ne peuvent pas / ne peuvent pas afficher.

Dois-je supprimer ce message? Cela pourrait encore aider certaines personnes ...


Essayez d'utiliser le cmd.exe intégré dans la complétion par tabulation.

  1. dir /x ne aide pas (le NTFS a été créé sans support pour les noms de fichiers courts):

    dir
     Verzeichnis von C:\Temporal\_black
    05.10.2015  21:23    <DIR>          none\none         ? ?????????, ?????????
    
    dir /X
     Verzeichnis von C:\Temporal\_black
    05.10.2015  21:23    <DIR>                       none\none         ? ?????????, ?????????
    
  2. Essayer de le renommer en tapant / copy'n'pasting le nom ne fonctionne pas:

    C:\Temporal\_black> ren "? ?????????, ?????????" bart
    Syntaxfehler.
    
  3. Pour que cela fonctionne, vous devez utiliser la complétion par tabulation . Naviguez simplement vers le bon répertoire dans le cmd-shell, tapez, tapez rensur la touche tabulateur et continuez à frapper jusqu'à ce que le nom "correct" apparaisse:

    C:\Temporal\_black>ren "? ?????????, ?????????"
    

    puis tapez le reste et appuyez sur Entrée:

    C:\Temporal\_black>ren "? ?????????, ?????????" bart
    

    Vous serez récompensé par ceci:

    C:\Temporal\_black> dir
     Verzeichnis von C:\Temporal\_black
    05.10.2015  21:23    <DIR>          none\none         bart
    

C'est un peu fastidieux mais jusqu'à présent, cela a toujours fonctionné pour moi avec des fichiers et des répertoires (Windows 7 et 8).

Note latérale amusante: Les rencommandes-en 2. et 3. sont identiques mais cela ne fonctionnera pas sans tab -ompletion . Et même si vous avez utilisé la complétion par tabulation, cela ne fonctionnera plus dès que vous aurez modifié le nom après ren(par exemple, supprimer et ajouter un point d'interrogation).

Limer
la source