Como Mike Nakis dijo, echo off
sólo evita la impresión de comandos, no de resultados. Para ocultar el resultado de un comando, agregue >nul
al final de la línea y, para ocultar los errores, agregue 2>nul
. Por ejemplo:
Del /Q *.tmp >nul 2>nul
Como Krister Andersson Dicho esto, la razón por la que obtiene un error es la variable está expandiendo con espacios:
set INSTALL_PATH=C:\My App\Installer
if exist %INSTALL_PATH% (
se convierte en:
if exist C:\My App\Installer (
Lo que significa:
Si existe "C: \ My", ejecute "Aplicación \ Instalar" er "con" ("como el argumento de la línea de comando.
Aparece el error porque no tiene una carpeta llamada "Aplicación". Ponga comillas alrededor de la ruta para evitar esta división.
Si la ruta tiene espacios, ¿se cita? if not 'if exist"% INSTALL_PATH% "(...' –
Las advertencias se muestran incluso si está desactivado echo, '@echo off' solo significa que no se deben repetir los comandos en el terminal. – Cyclonecode
Además de agregar comillas alrededor de la ruta, agregue un espacio antes de ( – dbenham