Eu vi @
é usado em tais contextos:
@echo off
@echo start eclipse.exe
O que @
significa aqui?
fonte
Eu vi @
é usado em tais contextos:
@echo off
@echo start eclipse.exe
O que @
significa aqui?
Significa não emitir o respectivo comando. Compare os dois arquivos em lotes a seguir:
@echo foo
e
echo foo
O primeiro tem apenas foo
como 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 off
desativará isso para o arquivo em lotes completo. No entanto, a echo off
chamada em si ainda seria visível. É por isso que você vê @echo off
no 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 off
para 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.exe
linha imprimiria a linha pretendida start eclipse.exe
e a echo start eclipse.exe
linha.
Os echo off
desliga o comando ecoando por padrão.
Tão @echo off
silenciosamente desativa o eco do comando, e somente a saída do autor do lote que se pretende gravar é realmente gravada.
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.
fonte
Outro momento útil para incluir @ é quando você usa
FOR
na linha de comando. Por exemplo:Mostra a linha anterior para cada arquivo : o prompt de comando, o
ECHO
comando e o resultado doECHO
comando. Deste jeito:Apenas o resultado do
ECHO
comando é mostrado.fonte
você pode incluir @ em um 'scriptBlock' assim:
e especialmente não faça isso :)
fonte