Comment «commenter» (append un commentaire) dans un lot / cmd?

J’ai un fichier de commandes qui exécute plusieurs scripts python qui modifient les tables.

  1. Je veux que les utilisateurs commentent les 1 à 2 scripts python qu’ils ne veulent pas exécuter, plutôt que de les supprimer du fichier de commandes (pour que l’utilisateur suivant sache que ces scripts existent en tant qu’options!)

  2. Je souhaite également append des commentaires pour attirer leur attention sur les variables à mettre à jour dans le fichier batch avant de l’exécuter. Je vois que je peux utiliser REM . Mais il semble que ce soit plus pour mettre l’utilisateur à jour après l’avoir exécuté.

Existe-t-il une syntaxe pour append de manière plus appropriée un commentaire?

La commande rem est en effet pour les commentaires. Il ne met à jour de manière inhérente personne après avoir exécuté le script. Certains auteurs de script peuvent l’utiliser de cette manière au lieu de l’ echo , car par défaut, l’interpréteur de commandes imprimera chaque commande avant son traitement. Comme les commandes rem ne font rien, il est prudent de les imprimer sans effets secondaires. Pour éviter d’imprimer une commande, ajoutez-lui un préfixe ou, pour appliquer ce paramètre tout au long du programme, exécutez @echo off . (Il est echo off pour éviter d’imprimer d’autres commandes; le @ évite d’imprimer cette commande avant que le paramètre d’écho ne prenne effet.)

Donc, dans votre fichier de commandes, vous pouvez utiliser ceci:

 @echo off REM To skip the following Python commands, put "REM" before them: python foo.py python bar.py 

your commands here :: commenttttttttttt

ou

your commands here REM commenttttttttttt

Remarques:

  • using :: peut provoquer des erreurs différentes dans la logique nestede (boucles IF-ELSE , FOR , etc …), et vous pouvez essayer d’utiliser le REM standard dans la plupart des cas.

  • Dans certains cas, vous devrez peut-être append et signer: & :: commenttttttttttt

Non, les anciens fichiers batch utilisent REM comme commentaire. ECHO est la commande qui imprime quelque chose à l’écran.

Pour “commenter” les sections du fichier, vous pouvez utiliser GOTO . Un exemple de toutes ces commandes / techniques:

 REM it starts here the section below can be safely erased once the file is customised ECHO Hey you need to edit this file before running it! Check the instructions inside ECHO Now press ctrl-c to interrupt execution or enter to continue PAUSE REM erase the section above once you have customised the file python executed1.py ECHO Skipping some stuff now GOTO End python skipped1.py python skipped2.py :END python executed2.py 

Que puis-je dire? les fichiers de commandes sont une relique des temps passés, ils sont maladroits et laids.

Vous pouvez en lire plus sur ce site .

EDIT: modification de l’exemple pour qu’il contienne les éléments que vous recherchez apparemment.

Le :: au lieu de REM était de préférence utilisé à l’époque où les ordinateurs n’étaient pas très rapides. La ligne REM’ed est lue et ensuite enregistrée. :: ‘ed line sont ignorés tout le chemin. Cela pourrait accélérer votre code dans “les vieux jours”. De plus, après un REM, vous avez besoin d’un espace, après :: vous ne le faites pas.

Et comme dit dans le premier commentaire: vous pouvez append des informations à toute ligne dont vous ressentez le besoin

 SET DATETIME=%DTS:~0,8%-%DTS:~8,6% ::Makes YYYYMMDD-HHMMSS 

Quant au saut de pièces. Mettre REM devant chaque ligne peut prendre beaucoup de temps. Comme mentionné en utilisant GOTO pour ignorer des parties est un moyen facile de sauter de gros morceaux de code. Veillez à définir un: LABEL au point où vous souhaitez que le code continue.

 SOME CODE GOTO LABEL ::REM OUT THIS LINE TO EXECUTE THE CODE BETWEEN THIS GOTO AND :LABEL SOME CODE TO SKIP . LAST LINE OF CODE TO SKIP :LABEL CODE TO EXECUTE 

Commentaires sur plusieurs lignes

Si vous souhaitez commenter un grand nombre de lignes, il serait préférable de faire des commentaires multi-lignes plutôt que de commenter chaque ligne.

La langue du lot ne contient pas de bloc de commentaires, bien qu’il existe des moyens de réaliser cet effet.

 GOTO EndComment1 This line is comment. And so is this line. And this one... :EndComment1 

Vous pouvez utiliser GOTO Label et: Label pour créer des commentaires de bloc.

Ou, si le bloc de commentaires apparaît à la fin du fichier de commandes, vous pouvez écrire EXIT à la fin du code, puis un nombre quelconque de commentaires pour votre compréhension.

 @ECHO OFF REM Do something • • REM End of code; use GOTO:EOF instead of EXIT for Windows NT and later EXIT Start of comment block at end of batch file This line is comment. And so is this line. And this one... 

Commentaires Source

Mettre des commentaires sur la même ligne avec des commandes: use & :: comment

 color C & :: set red font color echo IMPORTANT INFORMATION color & :: reset the color to default 

Explication:

& sépare deux commandes , donc dans ce cas la color C est la première commande et :: set red font color est la deuxième.


Important:

Cette déclaration avec commentaire est intuitive:

 goto error1 :: handling the error 

mais ce n’est pas une utilisation valide du commentaire. Cela fonctionne uniquement parce que goto ignore tous les arguments passés après le premier. La preuve est facile, ce goto n’échouera pas non plus:

 goto error1 handling the error 

Mais tentative similaire

 color 17 :: grey on blue 

échoue à l’exécution de la commande en raison de 4 arguments inconnus à la commande de color : :: , grey , on , blue .

Cela ne fonctionnera que comme:

 color 17 & :: grey on blue 

Donc, l’esperluette est inévitable.