J'essaie de remplacer les caractères spéciaux d'une chaîne par lot. J'ai essayé ceci:LOT: Changer les caractères spéciaux des noms de fichiers (é è à ...)
set filename=%filename:é=e%
set filename=%filename:è=e%
Mais cela ne fonctionne pas!
DOS ne comprend aucun de ces caractères correctement pour une raison quelconque. Voici une capture d'écran (Notez que le OUTPUT IN CSV n'est PAS une partie du code, je viens juste de poster ce qui a été echo dans le fichier .csv juste pour que vous puissiez le voir).
(pas assez réputation pour poster des captures d'écran ...) (http://i.imgur.com/dIFeBJz.png)
Alors oui, j'ont des caractères différents dans le programme, dans le terminal et également dans le fichier de sortie. Maintenant, je ne sais pas quoi faire avec des caractères spéciaux avec des accents. Optimal serait une seule ligne de code qui les supprime tous de la chaîne, pas besoin de remplacer.
Quelque chose comme:
set filename=%filename:À à Ä ä Â â É é È è Ë ë Ê ê Ì ì Ï ï Î î Ò ò Ö ö Ô ô Ù ù Ü ü Û û=%
Ce serait tout simplement les tuer tous, et je entrée de la ligne avant de prendre la sortie dans le fichier .csv. Résoudrait le problème mais je ne peux pas obtenir cette fonction dans BATCH (j'ai vu des solutions dans .NET ou d'autres langages mais aucun dans BATCH)
Votre fichier de commandes est sauvegardé en UTF8 ... L'invite de commande rencontre des problèmes avec les fichiers de traitement par lots UTF8. Vous pouvez essayer avec un script Powershell. – xanatos