Un utilisateur à distance familier avec les scripts par lots Windows / DOS reconnaîtra cette ligne:
@echo off
Pendant de nombreux jours, j'ai été satisfait du sentiment que le @
est comment echo off
est censé être écrit en haut du lot et c'est tout.
Cependant, récemment, je suis tombé sur une ligne comme celle-ci:
@php foo bar
et une autre ligne comme celle-ci:
@call \\network\folder\batch.bat
Cela a renforcé mes soupçons qui @
ont plus que le simple echo
changement de mode. Cependant, @
n'est pas répertorié dans Windows XP: Référence de ligne de commande AZ que j'essaie d'utiliser comme référence et donc je ne suis pas sûr de savoir comment trouver des informations définitives à ce sujet:
Quel est le @
lot de connexion, quelle est sa terminologie et que fait-il?
windows
batch-file
dos
terminology
at-sign
n611x007
la source
la source
Remarks
section de laecho
commande.echo
traitement par lots. Voici le lien vers echo # remarques .Réponses:
Au symbole - @
Le
@ symbol
dit au processeur de commandes d'être moins bavard; pour afficher uniquement la sortie de la commande sans la montrer en cours d'exécution ou les invites associées à l'exécution. Lorsqu'il est utilisé, il est ajouté au début de la commande, il n'est pas nécessaire de laisser un espace entre le "@" et la commande.Lorsque "echo" est réglé sur "off", il n'est pas nécessaire d'utiliser "@" car le réglage de "echo" sur "off" rend ce comportement automatique. "Echo" est généralement réglé sur "on" par défaut lorsque l'exécution d'un script commence. C'est la raison pour laquelle "@echo off" est couramment utilisé, pour désactiver l'écho sans afficher l'acte de le désactiver.
la source
.bat
fichier, c'est-à-dire que cela ne fonctionne pas directement à partir de la ligne de commande.When "echo" is set to "off" it is not necessary to use "@" because setting "echo" to "off" causes this behavior to become automatic.
C'est vrai. J'ai également constaté que cela pouvait provoquer des effets secondaires indésirables. Par exemple, l'utilisation de la@copy
suite d'uneclip < file.txt & pause
commande pour une raison quelconque amène mon presse-papiers à copier le texte1 file copied
.Non seulement le symbole «at» placé au début masque la commande, mais il peut également être utilisé pour ajouter des arguments de commande stockés dans un fichier texte. La syntaxe est les commandes exe @ (si je me souviens bien)
la source
myExe@myCommands
celais not recognized as an internal or external command
@
symbole? Je ne peux pas le faire fonctionner, mais je l'ai vu utilisé dans des fichiers batch ...