Batch: entrer le caractère d'échappement au clavier
Fermé
brucine
Messages postés
14307
Date d'inscription
lundi 22 février 2021
Statut
Membre
Dernière intervention
24 avril 2024
-
23 mars 2023 à 16:06
brucine Messages postés 14307 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 24 avril 2024 - 24 mars 2023 à 09:29
brucine Messages postés 14307 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 24 avril 2024 - 24 mars 2023 à 09:29
A voir également:
- Batch: entrer le caractère d'échappement au clavier
- Fichier batch - Guide
- Msgbox batch ✓ - Forum Autoit / batch
- Net use batch - Forum Réseau
- Extension batch - Forum Windows
- Batch color - Forum Autoit / batch
2 réponses
hypothetix
Messages postés
190
Date d'inscription
dimanche 19 janvier 2020
Statut
Membre
Dernière intervention
18 avril 2024
51
24 mars 2023 à 07:54
24 mars 2023 à 07:54
Bonjour,
Il faut utiliser : echo ^[[34mTaille initiale: ^[[0m
Mais curieusement un simple copier coller de ce texte dans la console ne fonctionne pas,
il faut absolument obtenir les deux ^[ par ALT+027 ou CTRL+[
Ceci fonctionne sur mon PC en Win 10, à vérifier si c'est reproductible.
@+
hypothetix
Messages postés
190
Date d'inscription
dimanche 19 janvier 2020
Statut
Membre
Dernière intervention
18 avril 2024
51
24 mars 2023 à 09:26
24 mars 2023 à 09:26
Pour la console uniquement , as-tu noté l'ajout d'un [ par rapport au texte initial
(avant) echo ^[34mTaille initiale: ^[0m
(après) echo ^[[34mTaille initiale: ^[[0m
(les deux ^[ obtenus par ALT+027 ou CTRL+[)
24 mars 2023 à 09:06
Bonjour,
Le copier-coller n'est en effet productif que si le caractère existe déjà dans le texte (c'est le cas du lien que j'ai cité en <1>).
Mais comme je l'ai illustré en <1>, en tout cas chez moi, aucune des combinaisons ALT+027 ou CTRL+[ ne fonctionne, que l'on saisisse ces caractères dans un fichier texte en UTF8 ou en ANSI ensuite enregistré sous cmd ou directement dans un batch cmd.
Par contre la séquence ALT+027 fonctionne correctement à la ligne de commande en m'affichant ^[ (mais sans que
ECHO ^[34mtoto[0m me rende le résultat souhaité).
Le résultat dépend bien sûr du clavier qui doit être à pavé numérique dans le cas ALT+027 et de la cohérence entre la la langue système et le clavier (mais j'ai bien Windows 10 FR et un clavier standard AZERTY FR).
Rob van der Woude nous met la puce à l'oreille en nous disant que la sortie dépend aussi de l'éditeur de texte utilisé:
https://www.robvanderwoude.com/ansi.php
Et j'ai en effet bien un résultat correct dans Notepad++ quand j'y saisis la séquence
ECHO touche ^ ALT+027 touche [ 34mtoto ALT+027 touche [ 0m
et que j'enregistre le résultat dans un fichier txt ou cmd.
Il ne s'agit donc non pas d'un problème de clavier mais, pour une raison qui c'est le cas de le dire m'échappe, d'un problème de codification des caractères ANSI entre Bloc-Notes/console Windows et Notepad++
24 mars 2023 à 09:29
Il semble s'agir d'un bug: Notepad++ code en UTF 8 sans BOM par défaut.
Les versions récentes Windows 10 sont censées permettre de choisir (notamment) entre UTF8 avec ou sans BOM, UTF8 sans BOM est par défaut.
Il semblerait que Windows "lise" le texte et convertisse automatiquement en ANSI ou UTF16 s'il ne trouve pas dans le fichier de BOM à son goût.