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 foocomme 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 offdésactivera cette option pour le fichier de commandes complet. Cependant, l' echo offappel lui-même serait toujours visible. C'est pourquoi vous voyez @echo offau 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.exeligne imprimerait à la fois la ligne prévue start eclipse.exe et la echo start eclipse.exeligne.
Le echo offdésactive l'écho de la commande par défaut.
@echo offDé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 offcommande, 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 FORdans 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 ECHOcommande et le résultat de la ECHOcommande. Par ici:
FOR %F IN (*.*) DO @ECHO %F
Seul le résultat de la ECHOcommande est affiché.