Je travaille avec des fichiers de commandes dans Windows, en utilisant à la fois Notepad et Notepad ++. Lorsque j'exécute les fichiers de commandes, qui commencent tous par @echo off
, la première ligne (exécutée sur deux ordinateurs distincts) indique ´╗┐@echo off
, puis toutes les lignes REM situées en dessous s'affichent également.
J'ai essayé de changer l'encodage dans Notepad ++, mais celui-ci affirme qu'ils sont déjà en encodage UTF-8, ce qui semble être correct.
Que dois-je faire pour que ces fichiers fonctionnent correctement?
Il s'avère qu'il doit être réglé sur ANSI pour fonctionner correctement. Pour définir cela, j'ai choisi Encodage -> Encodé en ANSI .
Pour comprendre cela, j'ai essayé de créer un fichier de commandes à partir de la ligne de commande.
echo @echo off > batch.bat
echo REM Some comment... >> batch.bat
echo echo Hello world! >> batch.bat
J'ai ensuite ouvert ce fichier dans Notepad ++, et vérifié le codage dans le coin inférieur droit, qui indiquait ANSI comme UTF-8 . Je ne sais pas pourquoi cela ajoute ce dernier point, mais cela semble fonctionner maintenant.
Cela ressemble au codage DOS ASCII de la marque d'ordre d'octet pour UTF-8 (0xEF 0xBB 0xBF)
: http://en.wikipedia.org/wiki/Byte_order_mark
Dans Notepad ++, essayez de le coder comme "UTF-8 sans nomenclature" ou comme ASCII simple. Je pense que l'utilisation de la nomenclature pour UTF-8 est déconseillée pour cette raison, elle n'est pas exactement compatible en amont avec l'ASCII.