Comment commentez-vous le code dans PowerShell?


939

Comment commentez-vous le code dans PowerShell (1.0 ou 2.0)?


24
Remarque '#' est un commentaire dans de nombreux langages de shell et de script: bash, python, php, ruby ​​et maintenant powershell.
yzorg

61
C'est exactement pourquoi j'ai supposé qu'il #ne s'agissait pas d'un commentaire dans un langage de script Windows ou Microsoft.
René Nyffenegger

2
C'est parce que, apparemment, contrairement à toutes leurs autres technologies, MS n'a pas donné à powershell une référence décente. Je ne l'ai trouvé nulle part.
dudeNumber4

5
@ dudeNumber4 PowerShell possède l'une des références les plus complètes de toutes les langues. Pour qu'une fonctionnalité soit ajoutée à la langue, elle doit inclure une helpdocumentation complète avec des exemples, des listes de méthodes et de membres, etc.
TylerH

Réponses:


1251

Dans PowerShell V1, il suffit #de faire du texte après un commentaire.

# This is a comment in Powershell

Dans PowerShell V2 <# #>peut être utilisé pour les commentaires de bloc et plus spécifiquement pour les commentaires d'aide.

#REQUIRES -Version 2.0

<#
.SYNOPSIS
    A brief description of the function or script. This keyword can be used
    only once in each topic.
.DESCRIPTION
    A detailed description of the function or script. This keyword can be
    used only once in each topic.
.NOTES
    File Name      : xxxx.ps1
    Author         : J.P. Blanc (jean-paul_blanc@silogix-fr.com)
    Prerequisite   : PowerShell V2 over Vista and upper.
    Copyright 2011 - Jean Paul Blanc/Silogix
.LINK
    Script posted over:
    http://silogix.fr
.EXAMPLE
    Example 1
.EXAMPLE
    Example 2
#>
Function blabla
{}

Pour plus d'explications .SYNOPSISet .*voir about_Comment_Based_Help .

Remarque: Ces commentaires de fonction sont utilisés par le Get-HelpCmdLet et peuvent être placés avant le mot-clé Function, ou {}avant ou après le code lui-même.


45
ne connaissait pas le commentaire du bloc <# #>. agréable
Dennis G

3
Vous pouvez trouver la grammaire de PowerShell v3 ici: microsoft.com/en-us/download/details.aspx?id=36389 . Regardez la section B.1.2 Comments.
james.garriss

J'utilisais la fonction Send-MailMessage, avec des astuces pour mettre chaque paramètre sur une nouvelle ligne, et j'ai commenté l'un d'entre eux (-Bcc) et cela a provoqué une erreur sur la ligne suivante (-Body: Le terme '-Body' est non reconnu comme le nom d'une applet de commande ...) Il semble donc que commenter une ligne au milieu d'un appel à une fonction ne soit pas pris en charge. Peut-être que c'est la suite de la ligne, peut-être que c'est autre chose, de toute façon ce n'est pas comme ça que je m'attendrais à ce que ça fonctionne
Davos

Commenter comme ça serait en ligne. Votre commande finirait par être analysée comme: Send-MailMessage -To bob@bob.com #Ceci est un commentaire -Subject "Help Me!" etc.
CitizenRon

Je l'ai trouvé plus fiable pour placer le commentaire de fonction immédiatement après l'ouverture {( à l' intérieur de la fonction). En particulier, j'ai eu du mal à le faire fonctionner à l'extérieur avec les fonctions du module de script.
jpmc26



36

Les commentaires sur une seule ligne commencent par un symbole de hachage , tout à droite de #sera ignoré:

# Comment Here

Dans PowerShell 2.0 et supérieur, les commentaires de bloc multi-lignes peuvent être utilisés:

<# 
  Multi 
  Line 
#> 

Vous pouvez utiliser des commentaires de bloc pour incorporer du texte de commentaire dans une commande:

Get-Content -Path <# configuration file #> C:\config.ini

Remarque: Étant donné que PowerShell prend en charge la complétion des onglets, vous devez faire attention à copier et coller Space + TABavant les commentaires.


3
+1 pour afficher l'utilisation du style de commentaire de bloc sur une seule ligne . Je suis venu ici pour chercher comment commenter temporairement les éléments individuels d'un tableau tous déclarés sur une seule ligne.
Chris Oldwood

17

Ici

# Single line comment in Powershell

<# 
--------------------------------------
Multi-line comment in PowerShell V2+ 
-------------------------------------- 
#>

11
Qu'est-ce que cela ajoute aux réponses existantes?
TZHX

5
Simplement et directement
Vic

1
Je pense que beaucoup de réponses oublient que l'anglais n'est pas toujours une langue maternelle, et deviennent trop verbeux et complexes dans leur préambule avant d'arriver à la réponse. Cette réponse est parfaite, en arrivant directement aux exemples que nous recherchons.
Geoff Griswald

15

Dans PowerShell ISE, vous pouvez appuyer sur Ctrl+ Jpour ouvrir le menu Démarrer la capture et sélectionner le bloc de commentaires :

entrez la description de l'image ici


Cela insère un nouveau commentaire de bloc; il ne met pas en commentaire les lignes existantes.
TylerH

3

Tu peux faire:

 (Some basic code) # Use "#" after a line and use:

 <#
    for more lines
    ...
    ...
    ...
    ..
    .
 #>
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.