J'ai vu @
est utilisé dans de tels contextes:
@echo off
@echo start eclipse.exe
Que @
signifie ici?
J'ai vu @
est utilisé dans de tels contextes:
@echo off
@echo start eclipse.exe
Que @
signifie ici?
Réponses:
Cela signifie ne pas sortir la commande correspondante. Comparez les deux fichiers batch suivants:
@echo foo
et
echo foo
Le premier n'a que foo
comme sortie tandis que le second imprime
H:\Stuff>echo foo
foo
(ici, au moins). Comme on peut le voir, la commande exécutée est également visible.
echo off
désactivera cette option pour le fichier de commandes complet. Cependant, l' echo off
appel lui-même serait toujours visible. C'est pourquoi vous voyez @echo off
au début des fichiers batch. Désactivez l'écho de commande et ne faites pas écho à la commande en l'éteignant.
La suppression de cette ligne (ou la mise en commentaire) est souvent un outil de débogage utile dans les fichiers de commandes plus complexes, car vous pouvez voir ce qui est exécuté avant un message d'erreur.
Cela signifie "ne pas envoyer la commande à la sortie standard".
Assez étrangement,
echo off
enverra echo off
à la sortie! Alors,
@echo off
désactive ce comportement d'écho automatique - et l'arrête également pour toutes les commandes futures.
Source: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/batch.mspx?mfr=true
Le @
désactive l'écho pour cette commande. Sans cela, la echo start eclipse.exe
ligne imprimerait à la fois la ligne prévue start eclipse.exe
et la echo start eclipse.exe
ligne.
Le echo off
désactive l'écho de la commande par défaut.
@echo off
Désactive donc silencieusement l'écho des commandes et seule la sortie de l'auteur du lot destiné à être écrit est réellement écrite.
Il hérite de la signification de DOS. @ :
Dans les versions DOS 3.3 et ultérieures, masque l'écho d'une commande batch. Toute sortie générée par la commande est renvoyée.
Sans cela, vous pourriez désactiver l'écho de commande à l'aide de la echo off
commande, mais cette commande serait renvoyée en premier.
Par défaut, un fichier de commandes affichera sa commande lors de son exécution. Le but de cette première commande que @echo off est de désactiver cet affichage. La commande "echo off" désactive l'affichage pour tout le script, à l'exception de la commande "echo off" elle-même. Le signe "at" "@" devant fait que la commande s'applique également à elle-même.
Un autre moment utile pour inclure @ est lorsque vous utilisez FOR
dans la ligne de commande. Par exemple:
FOR %F IN (*.*) DO ECHO %F
La ligne précédente affiche pour chaque fichier : l'invite de commande, la ECHO
commande et le résultat de la ECHO
commande. Par ici:
FOR %F IN (*.*) DO @ECHO %F
Seul le résultat de la ECHO
commande est affiché.