Eu vi @é usado em tais contextos:
@echo off
@echo start eclipse.exe
O que @significa aqui?
Eu vi @é usado em tais contextos:
@echo off
@echo start eclipse.exe
O que @significa aqui?
Respostas:
Significa não emitir o respectivo comando. Compare os dois arquivos em lotes a seguir:
@echo foo
e
echo foo
O primeiro tem apenas foocomo saída enquanto o último imprime
H:\Stuff>echo foo
foo
(aqui, pelo menos). Como pode ser visto, o comando que é executado também é visível.
echo offdesativará isso para o arquivo em lotes completo. No entanto, a echo offchamada em si ainda seria visível. É por isso que você vê @echo offno início dos arquivos em lote. Desative o eco do comando e não faça eco do comando que o desativa.
Remover essa linha (ou comentar) geralmente é uma ferramenta de depuração útil em arquivos em lotes mais complexos, pois você pode ver o que é executado antes de uma mensagem de erro.
Significa "não faça eco do comando para a saída padrão".
Estranhamente,
echo off
enviará echo offpara a saída! Assim,
@echo off
desativa esse comportamento de eco automático - e o interrompe para todos os comandos futuros também.
Fonte: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/batch.mspx?mfr=true
Os @desabilita eco para que um comando. Sem ele, a echo start eclipse.exelinha imprimiria a linha pretendida start eclipse.exe e a echo start eclipse.exelinha.
Os echo offdesliga o comando ecoando por padrão.
Tão @echo offsilenciosamente desativa o eco do comando, e somente a saída do autor do lote que se pretende gravar é realmente gravada.
Ele herda o significado do DOS. @ :
No DOS versão 3.3 e posterior, oculta o eco de um comando em lote. Qualquer saída gerada pelo comando é ecoada.
Sem ele, você pode desativar o eco do echo offcomando usando o comando, mas esse comando será repetido primeiro.
Por padrão, um arquivo em lotes exibirá seu comando enquanto é executado. O objetivo deste primeiro comando, que @echo off, é desativar esta tela. O comando "eco desligado" desliga a exibição de todo o script, exceto o comando "eco desativado". O sinal "at" "@" na frente também faz com que o comando se aplique a si próprio.
Outro momento útil para incluir @ é quando você usa FORna linha de comando. Por exemplo:
FOR %F IN (*.*) DO ECHO %F
Mostra a linha anterior para cada arquivo : o prompt de comando, o ECHOcomando e o resultado do ECHOcomando. Deste jeito:
FOR %F IN (*.*) DO @ECHO %F
Apenas o resultado do ECHOcomando é mostrado.