Alguien que esté familiarizado de forma remota con las secuencias de comandos por lotes de Windows / DOS reconocerá esta línea:
@echo off
Durante muchos, muchos días, estuve contento con el sentimiento de que así @
es como echo off
se debe escribir en la parte superior del lote y eso es todo.
Sin embargo, recientemente me encontré con una línea como esta:
@php foo bar
y otra línea como esta:
@call \\network\folder\batch.bat
Esto reforzó mi sospecha de que @
tiene más que solo echo
cambiar de modo. Sin embargo, @
no aparece en Windows XP: referencia de línea de comandos AZ que trato de usar como referencia y, por lo tanto, no estoy seguro de cómo encontrar información definitiva sobre esto:
¿Qué es el @
lote de inicio de sesión, cuál es la terminología para él y qué hace?
windows
batch-file
dos
terminology
at-sign
n611x007
fuente
fuente
Remarks
sección delecho
comando.echo
lotes. Aquí está el enlace para hacer eco de # comentarios .Respuestas:
En el símbolo - @
los
@ symbol
le dice al procesador de comandos que sea menos detallado; para mostrar solo la salida del comando sin mostrar que se está ejecutando o cualquier solicitud asociada con la ejecución. Cuando se usa se antepone al comienzo del comando, no es necesario dejar un espacio entre la "@" y el comando.Cuando "echo" se establece en "off", no es necesario utilizar "@" porque establecer "echo" en "off" hace que este comportamiento se vuelva automático. Por lo general, "Echo" se establece en "on" de forma predeterminada cuando comienza la ejecución de un script. Esta es la razón por la que se usa comúnmente "@echo off", para apagar el eco sin mostrar el acto de apagarlo.
fuente
.bat
archivo, es decir, no funciona directamente desde la línea de comandos.When "echo" is set to "off" it is not necessary to use "@" because setting "echo" to "off" causes this behavior to become automatic.
Esto es verdad. También he descubierto que esto puede provocar efectos secundarios no deseados. Por ejemplo, usar@copy
seguir unclip < file.txt & pause
comando por alguna razón hace que mi portapapeles copie el texto1 file copied
.El símbolo "arroba" colocado al principio no solo oculta el comando, sino que también se puede usar para agregar argumentos de comando almacenados en un archivo de texto. La sintaxis es exe @ comandos (si recuerdo bien)
fuente
myExe@myCommands
si fallais not recognized as an internal or external command
@
símbolo? No puedo hacer que funcione, pero lo he visto usado en archivos por lotes ...