liteqz.com
Le blog déménage Retrouvez cet article sur Il peut arriver, pour une raison x ou y, d'avoir besoin d'utiliser des caractères spéciaux lors de l'écriture d'un script Batch. On tape son code dans le bloc-notes, on enregistre, on change l'extension en, et là c'est le drame: l'interpréteur de commandes de windows n'interprète pas les caractères spéciaux correctement. Suite au déménagement du site l'article est disponible à l'adresse suivante:
Mot: Pseudo: Filtrer Bas de page Auteur Sujet: [r, solu]pb de caractères dans les TheRom_S Bon voilà mon problème, je dois de temps en temps relancer mon client DHCP à la mano et j'ai donc écris ça dans un: ipconfig/renew "Connexion au réseau local 3" et le problème viens du "é" de réseau qui est pas reconnu. Alors j'ouvre mon, je fais ctrlA ctrlC et j'ouvre un shell et je paste (et je peste aussi parce que ça marche comme ça) Quelqu'un pour me dire comment résoudre ce petit truc? Message édité par TheRom_S le 20-09-2007 à 23:17:05 --------------- The Rom's, à votre service Publicité TheRom_S bon j'ai fais echo ipconfig/renew "Connexion au réseau local 3" > "mon " ça marche et le "é" a été remplacé par... Batch et caractères spéciaux – a14i3e20. une virgule... remplacement des plus logiques --------------- The Rom's, à votre service gatsu35 Blablaté par Harko ben encodage ansi windows! = encodage ansi DOS Faut le savoir c'est tout, mais bon c'est windows hein, faut pas chercher plus loin TheRom_S oui j'avais vu, mais apparemment, c'est pas évident d'encoder dans le bon format, j'ai vu un gars qui créait des grâce à une appli J2EE où il choisissait l'encodage des jsp --------------- The Rom's, à votre service blastkiller Utilisez EDIT, en ligne de commande, il enregistrera les caractères spéciaux dans le bon format.
Caractères spéciaux dans les fichiers batch sont une douleur, mais je n'ai pas trouvé la bonne solution pour s'échapper, les deux premiers caractères de la chaîne, je suis en train de passer à l'application. SET pass=^&AntiBatchfileString /pass=%pass% Choses que j'ai essayé::: Escaping the escape twice, first for ^, second for &. SET pass=^^^^&AntiBatchfileString echo%pass%:: Combining escapes. SET first=^^ SET second=^^&AntiBatchfileString SET pass=%first%%second% echo%pass%:: Preventing expansion SET pass=! Caractères spéciaux chinois. first! %second% echo%pass%:: I got this to print correctly SET "pass=^&AntiBatchfileString" echo ^^%pass% Encore lors du passage de la dernière qu'il n'accepte pas la connexion, je ne sais pas ce que le résultat final. Cela m'a fait penser peut-être qu'il était en train de faire un autre agrandissement en passant le paramètre de l'application, de sorte que j'ai cité en tant que bien. "/pass=^^%pass%" Ça ne marche toujours pas, je ne suis pas sûr de ce que je suis en manquant à ce point.
Quand tu utilises l'éditeur " edit " dans une console MS-DOS, tu forces simplement l'écriture de ton batch en utilisant la table ASCII, qui est celle utilisée par la console MS-DOS. C'est aussi pour cette raison que cela fonctionne quand on tape le caractère dans la console DOS et qu'on le recopie dans le batch sous un éditeur Windows. Caracteres speciaux barre. L'autre solution, pour afficher un caractère particulier dans un éditeur sous Windows (bloc-notes, Notepad++, Editpad, Ultra-Edit, etc... ), est de taper:
- Alt +
- Alt + 0
(garder Alt enfoncé et, en même temps, taper le code du caractère). IMPORTANT: le code ASCII ou ANSI doit être tapé sur le pavé numérique impérativement. Pour un caractère destiné au MS-DOS, on utilise le code ASCII seul (sur 3 chiffres). Pour différencier les caractères ANSI par rapport à ASCII, on ajoute un zéro (chiffre 0) devant le code ANSI (lui aussi sur 3 chiffres).
27/04/2012, 18h44 #2 Membre émérite salut; echo #BSUB -f " ^< ">> 27/04/2012, 23h06 #3 Envoyé par minnesota Merci de ta réponse. Je vais tester ça. 23/05/2012, 11h54 #4 je suis revenue sur ce problème et toujours pas résolu. Voila ce que j'ai en utilisant ta solution minnesota: 1 2 #BSUB -f " ^< " ma variable ne prend même pas son affectation et les caractères "spéciaux" ne s'affiche pas comme il faut. Ps: En fait c le ^ qui cause problème il est affiché en sortie alors qu'il ne le devrait pas. Batch-file => Échapper des caractères spéciaux. Merci de votre aide 23/05/2012, 19h54 #5 Moi j'avais compris ça: Envoyé par nekcorp Mais si c'est pas ça, tu veux quoi en sortie? 24/05/2012, 10h47 #6 Effectivement je me suis mal fait comprendre. en sortie je souhaite avoir cette ligne: #BSUB -f " < " Pour l'instant je la rentre à la main pour chaque fichier que j'ai:-( Merci de ton suivie minnesota 24/05/2012, 13h33 #7 1 2 set "casdechargecombine=PT-_U-P_10_-_1_CGVB02000L" echo #BSUB -f " < ">> et attention à ne pas mettre d'espace entre = et PT, conf.
Mar 13 2019 Oui je sais tout le monde fait du PowerShell... mais parfois DOS est suffisant avec ses fichiers bat/cmd. Sauf que parfois on doit échapper un caractère, et que l'échappement dépend si c'est dans un for, un echo... si c'est une parenthèse, un crochet, etc. Alors tout est synthétisé ici: Le premier commentaire est pour vous: ne soyez pas timide... Caractères spéciaux bach.fr. c'est à vous! Une combinaison de touche secrète se trouve dans cette page, saurez-vous la trouver?
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.