batch-file
Écho
Recherche…
Introduction
echo
peut être utilisé pour contrôler et produire la sortie.
Syntaxe
- ECHO [ON | DE]
- Message ECHO
- ECHO (message
- ÉCHO(
Paramètres
Paramètre | Détails |
---|---|
ON | DE | Peut être ON ou OFF (insensible à la casse) |
message | Toute chaîne (sauf ON ou OFF lorsqu'elle est utilisée sans ( ) |
Remarques
-
echo.
affichera également une chaîne vide. Cependant, cela est plus lent queecho(
carecho.
Recherchera un fichier nommé "echo". Ce n'est que si ce fichier n'existe pas que la commande fonctionnera, mais cette vérification le ralentit. -
echo:
se comportera commeecho(
sauf si lemessage
ressemble à un chemin de fichier, par exempleecho:foo\..\test.bat
. Dans ce cas, l'interpréteur verraecho:foo
comme nom de dossier, stripecho:foo\..\
(car il semble juste pour entrer dans le répertoireecho:foo
puis le laisser à nouveau) puis exécutertest.bat
, qui n'est pas le comportement souhaité.
Affichage des messages
Pour afficher "du texte", utilisez la commande:
echo Some Text
Cela affichera la chaîne Some Text
suivie d'une nouvelle ligne.
Pour afficher les chaînes On
et Off
(insensible à la casse) ou la chaîne vide, utilisez un (
au lieu d'espace blanc:
echo(ON
echo(
echo(off
Cela va sortir:
ON off
Il est également courant d'utiliser l' echo.
pour sortir une ligne vide, mais s'il vous plaît voir les remarques pour lesquelles ce n'est pas la meilleure idée.
Pour afficher du texte sans inclure un CR / LF, utilisez la commande suivante:
<nul set/p=Some Text
Cette commande tentera de définir la variable appelée la chaîne vide à l'entrée de l'utilisateur après une invite. Le fichier nul
étant redirigé vers la commande avec <nul
, la commande abandonnera dès qu’elle essaiera de la lire et seule la chaîne d’invite sera laissée. L'utilisateur n'ayant jamais saisi de nouvelle ligne, il n'y a pas de saut de ligne.
Réglage d'écho
Le paramètre echo détermine si l’écho de commande est activé ou désactivé. C'est ce qu'un exemple de programme ressemble avec la commande en écho (par défaut):
C:\Windows\System32>echo Hello, World!
Hello, World!
C:\Windows\System32>where explorer
C:\Windows\System32\explorer.exe
C:\Windows\System32>exit
Voici à quoi ça ressemble avec echo off :
Hello, World!
C:\Windows\System32\explorer.exe
Obtenir et configurer
Pour obtenir (afficher) le paramètre d'écho, utilisez echo
sans paramètres:
> echo
ECHO is on.
Pour définir le paramètre d'écho, utilisez l' echo
avec on
ou off
:
> echo off
> echo
ECHO is off.
> echo on
> echo
ECHO is on.
Notez qu'avec ces exemples, l'invite a été représentée par >
. Lorsque vous modifiez le paramètre d'écho, l'invite apparaît et disparaît, mais cela crée des exemples peu clairs.
Notez qu'il est possible d'empêcher qu'une commande ne soit répercutée même lorsque l'écho est activé, en plaçant un caractère @
avant la commande.
Echo produit tout littéralement
Les devis seront produits tels quels:
echo "Some Text"
"Some Text"
Les jetons de commentaire sont ignorés:
echo Hello World REM this is not a comment because it is being echoed!
Hello World REM this is not a comment because it is being echoed!
Toutefois, echo
restituera toujours les variables - voir Utilisation des variables - et les caractères spéciaux restent actifs:
echo hello && echo world
hello world
Echo à la sortie du fichier
Façons de créer un fichier avec la commande echo:
echo. > example.bat (creates an empty file called "example.bat")
echo message > example.bat (creates example.bat containing "message")
echo message >> example.bat (adds "message" to a new line in example.bat)
(echo message) >> example.bat (same as above, just another way to write it)
Sortie sur le chemin
Un petit problème que vous pourriez rencontrer lors de cette opération:
echo Hello how are you? > C:\Users\Ben Tearzz\Desktop\example.bat
(This will NOT make a file on the Desktop, and might show an error message)
Mais alors comment on le fait? Eh bien, c'est en fait extrêmement simple ... Lorsque vous tapez un chemin ou un nom de fichier contenant un espace dans son nom, n'oubliez pas d'utiliser "quotes"
echo Hello how are you? > "C:\Users\Ben Tearzz\Desktop\example.bat"
(This will make a file on MY Desktop)
Mais que faire si vous voulez créer un fichier qui génère un nouveau fichier?
echo message > file1.bat > example.bat
(This is NOT going to output:
"message > file1.bat" to example.bat
Alors comment on fait ça?
echo message ^> file1.bat > example.bat
(This will output:
"message > file1.bat" to example.bat
Même chose pour d'autres choses en lot
Si vous n'avez pas appris quelles sont les variables et les déclarations, alors vous ne comprendrez probablement pas ce qui suit: cliquez ici pour en savoir plus sur les variables | cliquez ici pour en savoir plus sur les déclarations "if"
Variables:
set example="text"
echo %example% > file.bat
(This will output "text" to file.bat)
Si nous ne voulons pas que "text" soit affiché mais simplement "% example%", alors écrivez:
echo ^%example^% > file.bat
(This will output "%example%" to file.bat)
déclarations autres:
else = ||
if ^%example^%=="Hello" echo True || echo False > file.bat
(This will output:
if %example%=="Hello" echo True
pour sortir toute la ligne, nous écrivons:
if ^%example^%=="Hello" echo True ^|^| echo False > file.bat
This will output:
if %example%=="Hello" echo True || echo False
Si la variable est égale à "bonjour" alors elle dira "vrai", sinon elle dira "faux"
@Écho off
@echo off
empêche l' @echo off
l'invite et du contenu du fichier de commandes, de sorte que seule la sortie est visible. Le @
rend également masquée la sortie de la commande echo off
.
Faire tourner l'écho sur les parenthèses intérieures
Dans l'exemple suivant, echo on
prendra effet après la fin du contexte entre parenthèses:
@echo off
(
echo on
echo ##
)
echo $$
Pour "activer" l'écho dans un contexte de parenthèses (y compris les commandes FOR
et IF
), vous pouvez utiliser la macro FOR / f :
@echo off
setlocal
:: echo on macro should followed by the command you want to execute with echo turned on
set "echo_on=echo on&for %%. in (.) do"
(
%echo_on% echo ###
)