batch-file
Commentaires dans les fichiers batch
Recherche…
Introduction
Les commentaires sont utilisés pour afficher des informations dans un script de commandes.
Syntaxe
REM
& REM
::
& ::
Aller à: Label
Comments. You can also use |>< ,etc.
:Étiquette
Utiliser REM pour les commentaires
REM This is a comment
-
REM
est la commande de commentaire officielle.
Utiliser les étiquettes comme commentaires
::This is a label that acts as a comment
Le double-colon ::
comment montré ci-dessus n'est pas documenté comme étant une commande de commentaire, mais il s'agit d'un cas spécial d'étiquette qui agit comme un commentaire.
Attention : lorsque des étiquettes sont utilisées comme commentaires dans un bloc de code entre crochets ou for
commande, le processeur de commandes attend que chaque étiquette soit suivie par au moins une commande.
Le shell cmd
essaiera d'exécuter la deuxième ligne même si elle est formatée comme une étiquette (et cela provoque une erreur ):
(
echo This example will fail
:: some comment
)
Lorsque vous travaillez avec des blocs de code entre parenthèses, il est plus sûr d'utiliser REM pour toutes les lignes de commentaires.
Utiliser les variables comme commentaires
Il est également possible d'utiliser des variables en tant que commentaires. Cela peut être utile pour empêcher conditionnellement l'exécution des commandes:
@echo off
setlocal
if /i "%~1"=="update" (set _skip=) Else (set _skip=REM)
%_skip% copy update.dat
%_skip% echo Update applied
...
Lorsque vous utilisez l'extrait de code ci-dessus dans un fichier de commandes, les lignes commençant par %_skip%
ne sont exécutées que si le fichier de commandes est appelé avec la update
à update
tant que paramètre.
Bloquer les commentaires
Le format de fichier de commandes ne comporte pas de syntaxe de commentaire de bloc, mais il existe une solution simple à ce problème.
Normalement, chaque ligne d'un fichier de commandes est lue et ensuite exécutée par l'analyseur, mais une goto
peut être utilisée pour sauter un bloc de texte brut (qui peut être utilisé comme un commentaire de bloc):
@echo off
goto :start
A multi-line comment block can go here.
It can also include special characters such as | >
:start
Puisque l'analyseur ne voit jamais les lignes entre l' goto :start
et :start
label, il peut contenir du texte arbitraire (y compris des caractères de contrôle sans avoir besoin de les échapper) et l'analyseur ne générera pas d'erreur.
Commenter la ligne du code
Pour commenter la même ligne que le code, vous pouvez utiliser &::
ou &rem
. Vous pouvez également utiliser &&
ou ||
pour remplacer &
.
Exemple :
@echo off
echo This is a test &::This is a comment
echo This is another test &rem This is another comment
pause
Une curiosité : la commande SET
permet des commentaires en ligne limités sans &rem
:
set "varname=varvalue" limited inline comment here
Limites:
- syntaxe avec guillemets doubles
set "varname=varvalue"
ouset "varname="
, - un commentaire en ligne ne peut contenir aucun double guillemet,
- tous les personnages toxiques
cmd
| < > &
doit être correctement échappé comme^| ^< ^> ^&
, - les parenthèses
( )
doivent être correctement échappées en tant que^( ^)
dans un bloc de code entre crochets.
Lot et WSF Hybrid Commentaire
<!-- : Comment
Cela fonctionne à la fois avec le script batch et WSF. La balise de fermeture ( -->
) ne fonctionne que dans WSF.
Code | Sucessful dans les deux lots et WSF? |
---|---|
<!--: Comment | Vrai |
<!--: Comment --> | False - La balise de fermeture ne fonctionne que pour WSF |
--> | Faux |