batch-file
Eco
Buscar..
Introducción
echo
puede ser usado para controlar y producir salida.
Sintaxis
- ECHO [ON | APAGADO]
- Mensaje de ECHO
- ECHO (mensaje
- ECO(
Parámetros
Parámetro | Detalles |
---|---|
ON | APAGADO | Puede estar ON o OFF (no distingue mayúsculas y minúsculas) |
mensaje | Cualquier cadena (excepto ON u OFF cuando se usa sin ( ) |
Observaciones
-
echo.
También mostrará una cadena vacía. Sin embargo, esto es más lento que elecho(
ya queecho.
Buscará un archivo llamado "echo". Solo si este archivo no existe, el comando funcionará, pero esta verificación lo hará más lento. -
echo:
se comportará comoecho(
, a menos que elmessage
vea como una ruta de archivo, por ejemploecho:foo\..\test.bat
. En este caso, el intérprete veráecho:foo
como nombre de carpeta, tiraecho:foo\..\
(porque aparece solo para ingresar al directorioecho:foo
luego dejarlo nuevamente) luego ejecutetest.bat
, que no es el comportamiento deseado.
Mostrando mensajes
Para mostrar "algo de texto", use el comando:
echo Some Text
Esto dará salida a la cadena de Some Text
seguido de una nueva línea.
Para mostrar las cadenas On
y Off
(mayúsculas y minúsculas) o la cadena vacía, utilice a (
lugar de espacios en blanco:
echo(ON
echo(
echo(off
Esto dará como resultado:
ON off
También es común usar echo.
para mostrar una línea en blanco, pero vea las observaciones de por qué esta no es la mejor idea.
Para mostrar texto sin incluir un CR / LF, use el siguiente comando:
<nul set/p=Some Text
Este comando intentará establecer la variable llamada cadena vacía en la entrada del usuario siguiendo una solicitud. El archivo nul
se redirige al comando con <nul
, por lo que el comando se rendirá tan pronto como intente leerlo y solo quedará la cadena de solicitud. Debido a que el usuario nunca escribió una nueva línea, no hay salto de línea.
Ajuste de eco
La configuración de eco determina si el eco de comando está activado o desactivado. Esto es lo que parece un programa de ejemplo con el comando que se hace eco en (predeterminado):
C:\Windows\System32>echo Hello, World!
Hello, World!
C:\Windows\System32>where explorer
C:\Windows\System32\explorer.exe
C:\Windows\System32>exit
Esto es lo que parece con eco apagado :
Hello, World!
C:\Windows\System32\explorer.exe
Obtención y configuración
Para obtener (mostrar) la configuración de eco, use echo
sin parámetros:
> echo
ECHO is on.
Para establecer la configuración de eco, use echo
con on
u off
:
> echo off
> echo
ECHO is off.
> echo on
> echo
ECHO is on.
Tenga en cuenta que con estos ejemplos, la solicitud ha sido representada por >
. Cuando se cambia la configuración de eco, el aviso aparecerá y desaparecerá, pero eso hace que los ejemplos no estén claros.
Tenga en cuenta que es posible evitar que un comando se repita incluso cuando el eco está activado, colocando un carácter @
antes del comando.
Echo saca todo literalmente.
Las cotizaciones se darán como están:
echo "Some Text"
"Some Text"
Los tokens de comentario son ignorados:
echo Hello World REM this is not a comment because it is being echoed!
Hello World REM this is not a comment because it is being echoed!
Sin embargo, el echo
seguirá generando variables (consulte Uso de variables ) y los caracteres especiales seguirán teniendo efecto:
echo hello && echo world
hello world
Echo de salida a archivo
Formas de crear un archivo con el comando echo:
echo. > example.bat (creates an empty file called "example.bat")
echo message > example.bat (creates example.bat containing "message")
echo message >> example.bat (adds "message" to a new line in example.bat)
(echo message) >> example.bat (same as above, just another way to write it)
Salida a ruta
Un pequeño problema que puede encontrar al hacer esto:
echo Hello how are you? > C:\Users\Ben Tearzz\Desktop\example.bat
(This will NOT make a file on the Desktop, and might show an error message)
Pero entonces, ¿cómo lo hacemos? Bueno, en realidad es extremadamente simple ... Al escribir una ruta o nombre de archivo que tiene un espacio incluido en su nombre, recuerde usar "comillas"
echo Hello how are you? > "C:\Users\Ben Tearzz\Desktop\example.bat"
(This will make a file on MY Desktop)
Pero, ¿qué sucede si desea crear un archivo que genere un archivo nuevo?
echo message > file1.bat > example.bat
(This is NOT going to output:
"message > file1.bat" to example.bat
Entonces, ¿cómo hacemos esto?
echo message ^> file1.bat > example.bat
(This will output:
"message > file1.bat" to example.bat
Lo mismo ocurre con otras cosas en lote
Si no ha aprendido qué son las variables y las declaraciones, lo más probable es que no comprenda lo siguiente: haga clic aquí para obtener información sobre las variables | Haga clic aquí para conocer las declaraciones "if"
Variables:
set example="text"
echo %example% > file.bat
(This will output "text" to file.bat)
si no queremos que se muestre "texto", sino simplemente% example% luego escriba:
echo ^%example^% > file.bat
(This will output "%example%" to file.bat)
otras declaraciones:
else = ||
if ^%example^%=="Hello" echo True || echo False > file.bat
(This will output:
if %example%=="Hello" echo True
Para dar salida a toda la línea escribimos:
if ^%example^%=="Hello" echo True ^|^| echo False > file.bat
This will output:
if %example%=="Hello" echo True || echo False
Si la variable es igual a "Hola" entonces dirá "Verdadero", sino dirá "Falso"
@Echo off
@echo off
evita que se muestren la solicitud y el contenido del archivo por lotes, de modo que solo se vea la salida. La @
hace que la salida del comando echo off
oculte.
Encendiendo el eco en los soportes internos
En el siguiente ejemplo, el echo on
tendrá efecto después de que se llegue al final del contexto de paréntesis:
@echo off
(
echo on
echo ##
)
echo $$
Para "activar" el eco en un contexto de corchetes (incluidos los comandos FOR
y IF
) puede usar la macro FOR / f :
@echo off
setlocal
:: echo on macro should followed by the command you want to execute with echo turned on
set "echo_on=echo on&for %%. in (.) do"
(
%echo_on% echo ###
)