84 votes

Écho désactivé mais les messages sont affichés

J'ai désactivé l'écho dans le fichier bat.

 @echo off

alors je fais quelque chose comme ça

 ...
echo %INSTALL_PATH%
if exist %INSTALL_PATH%(
echo 222
...
)

et j'obtiens :

Le système ne peut pas trouver le chemin spécifié.

message entre ces deux échos.

Quelle peut être la raison de ce message et pourquoi le message ignore l'écho désactivé ?

50voto

Wakan Tanka Points 400

Enregistrez-le en tant que fichier *.bat et voyez les différences

 :: print echo command and its output
echo 1

:: does not print echo command just its output
@echo 2

:: print dir command but not its output
dir > null

:: does not print dir command nor its output
@dir c:\ > null

:: does not print echo (and all other commands) but print its output
@echo off
echo 3

@echo on
REM this comment will appear in console if 'echo off' was not set

@set /p pressedKey=Press any key to exit

12voto

Mike Nakis Points 7259

"echo off" n'est pas ignoré. "echo off" signifie que vous ne voulez pas que les commandes soient renvoyées, cela ne dit rien sur les erreurs produites par les commandes.

Les lignes que vous nous avez montrées semblent correctes, donc le problème n'est probablement pas là. Alors, s'il vous plaît, montrez-nous plus de lignes. Veuillez également nous montrer la valeur exacte de INSTALL_PATH.

4voto

Krister Andersson Points 9788
@echo off
// quote the path or else it won't work if there are spaces in the path
SET INSTALL_PATH="c:\\etc etc\\test";
if exist %INSTALL_PATH% (
   //
   echo 222;
)

4voto

Pour moi, ce problème était dû au mauvais format d'encodage du fichier. J'ai utilisé un autre éditeur et il a été enregistré sous UTF-8-BOM donc la toute première ligne que j'avais était @echo off mais il y avait un caractère caché devant.

J'ai donc changé l'encodage en ANSI , puis le problème a disparu.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X