Эхо выключено, но отображаются сообщения
Я выключил echo в файле bat.
@echo off
затем я делаю что-то вроде этого
...
echo %INSTALL_PATH%
if exist %INSTALL_PATH%(
echo 222
...
)
а я:
система не может найти указанный путь.
сообщение между двумя Эхо.
что может быть причиной этого сообщения и почему сообщение игнорирует echo off?
5 ответов:
как Майк Nakis сказал:
echo off
только предотвращает печать команд, а не результатов. Чтобы скрыть результат выполнения команды add>nul
в конце строки, и, чтобы скрыть ошибки добавить2>nul
. Например:Del /Q *.tmp >nul 2>nul
как Кристер Андерссон сказал, Причина, по которой вы получаете ошибку, заключается в том, что ваша переменная расширяется пробелами:
set INSTALL_PATH=C:\My App\Installer if exist %INSTALL_PATH% (
будет:
if exist C:\My App\Installer (
что означает:
если "C:\My" существует, беги "App\Installer" с " ("в качестве аргумента командной строки.
вы видите ошибку, потому что у вас нет папки "приложения". Поместите кавычки вокруг пути, чтобы предотвратить это разделение.
Сохранить как *.bat файл и увидеть различия
:: 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
"echo off" не игнорируется. "echo off" означает, что вы не хотите, чтобы команды повторялись, это ничего не говорит об ошибках, вызванных командами.
линии, которые Вы нам показали, выглядят нормально, поэтому проблема, вероятно, не существует. Так, пожалуйста покажите нам больше линий. Кроме того, пожалуйста, покажите нам точное значение INSTALL_PATH.