Commande "Echo." en batch ne marche plus (Réglages

Afx_5636
Commande "Echo." en batch ne marche plus (Réglages

Bonjour tout le monde !

Voilà, j'ai un petit problème concernant la commande Echo avec mon invite de commande. Et plus précisément avec la commande "Echo." (pour faire un saut de ligne). En effet, celle-ci ne fonctionne plus... Enfin dans certaines conditions (encore plus étrange !!!):

- Si le batch est appelé à partir de la console: Ne marche pas -> "'echo.' n'est pas reconnu en tant que commande interne..."
- Si le batch est lancé par double-clique: Marche !!!
- Si la commande Echo est écrite manuellement dans la console:Ne marche pas

Etrange non ?
J'ai tout essayé (enfin faut croire que non) mais rien n'y fait. Cette commande marchait très bien hier encore quand je codais quelques batches...
Comme j'avais encodé mes batches en OEM, j'ai pensé que cela venait de là, mais non... Alors j'ai fait 2/3 tests complémentaires pour tenter de résoudre cette énigme et j'ai trouvé quelque chose d'encore plus étrange: La commande Echo: (oui oui avec deux points!) fonctionne et à le même effet que la commande Echo. , sauf qu'elle marche dans tous les cas !!!

Si quelqu'un à une idée sur le sujet même sans certitude je suis preneur car c'est quand même très ch... !

N'hésitez surtout pas et merci d'avance !
++

fredericmazue

Etrange oui.

Normalement echo est une commande intégrée à C:\Windows\System32\cmd.exe, autrement dit à la console.

On a envie de te dire que ce que tu racontes est impossible....
Ou alors.... hum hum.... et si le cmd.exe que tu lances manuellement était corrompu ou pas le bon (virus ? fichier substitué à un autre ? Collision de nom dans le path ?)

Peut être que quand tu double-cliques sur le batch le bon cmd.exe est appelé et que dans les autres cas un "autre" cmd.exe est appelé.

En espérant t'avori aidé un peu

fred

Denis LAIR
ECHO. (saut de ligne)

Bonjour. Nous sommes en 2017, j'ai l'impression que personne ne s'est vraiment penché sur ce problème... que je viens également de rencontrer. Après diverses tentatives de contournement, voici une solution de remplacement, qui fonctionne :

remplacer dans les fichiers batch toutes les commandes "echo." par "echo " (echo et espace) suivi du caractère de code ASCII 8 (il doit y en avoir d'autres, mais celui-là est le premier que j'ai trouvé). CELA NE PEUT S'INSERER QU'AVEC BLOC NOTES/NOTEPAD, MAIS PAS AVEC EDIT/DOS. Au final, cela doit apparaitre dans le fichier BAT (ou CMD) sous EDIT, comme un gros point noir sur fond blanc.

Remarque : j'ai généré ce caractère dans une feuille EXCEL, avec la formule =CAR(8), puis effectué un copier-coller dans le fichier destinataire ouvert dans Notepad).