1105 votes

Comment commenter du code dans PowerShell ?

Comment commenter le code dans PowerShell (1.0 ou 2.0) ?

36 votes

Note '#' est un commentaire dans beaucoup de langages shell et script : bash, python, php, ruby, et maintenant powershell.

79 votes

C'est exactement pourquoi j'ai supposé que # n'est pas un commentaire dans un langage de script basé sur Windows ou Microsoft.

4 votes

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.

24voto

Martin Brandl Points 13712

Dans PowerShell ISE, vous pouvez frapper Ctrl + J pour ouvrir le Commencer à couper et sélectionner le menu Bloc de commentaires :

enter image description here

9voto

Peter Points 163

Utilisez un hashtag suivi d'un espace blanc ( !) pour cela :

 # Comment here

N'oubliez pas l'espace blanc ici ! Sinon, il peut interférer avec les commandes internes.

Par exemple, c'est no un commentaire :

#requires -runasadmin

0 votes

Pouvez-vous fournir une explication de ce qui se passe dans l'exemple ( #requires -runasadmin ) ? En quoi cela interfère-t-il avec les commandes internes ? Veuillez répondre par éditer votre réponse pas ici dans les commentaires ( sin "Editer :", "Mettre à jour :", ou similaire - la réponse doit apparaître comme si elle avait été écrite aujourd'hui).

8voto

KUTlime Points 1191

Je suis un peu en retard à cette fête, mais il semble que personne n'ait réellement écrit tous les cas d'utilisation. Donc...

La seule version supportée de PowerShell ces jours-ci ( automne 2020 et au-delà ) sont :

  • Windows PowerShell 5.1.x
  • PowerShell 7.0.x.

Vous ne voulez pas ou ne devriez pas travailler avec différentes versions de PowerShell.

Les deux versions ( ou toute autre version que vous pourriez rencontrer WPS 3.0-5.0, PS Core 6.x.x sur certaines stations dépassées ) partagent la même fonctionnalité de commentaire.

Commentaires d'une ligne

# Get all Windows Service processes <-- one line comment, it starts with '#'
Get-Process -Name *host*

Get-Process -Name *host* ## You could put as many ### as you want, it does not matter

Get-Process -Name *host* # | Stop-Service # Everything from the first # until end of the line is treated as comment

Stop-Service -DisplayName Windows*Update # -WhatIf # You can use it to comment out cmdlet switches

Commentaires multi-lignes

<#
Everyting between '< #' and '# >' is 
treated as a comment. A typical use case is for help, see below.

# You could also have a single line comment inside the multi line comment block.
# Or two... :)

#>

<#
.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
    Some additional notes. This keyword can be used only once in each topic.
    This keyword can be used only once in each topic.

.LINK
    A link used when Get-Help with a switch -OnLine is used.
    This keyword can be used only once in each topic.

.EXAMPLE
    Example 1
    You can use this keyword as many as you want.

.EXAMPLE
    Example 2
    You can use this keyword as many as you want.
#>

Commentaires imbriqués sur plusieurs lignes

<#
Nope, these are not allowed in PowerShell.

<# This will break your first multiline comment block... #>
...and this will throw a syntax error.
#>

Commentaires multilignes imbriqués dans le code

<# 
The multi line comment opening/close
can be also used to comment some nested code
or as an explanation for multi chained operations..
#>
Get-Service | <# Step explanation #>
Where-Object { $_.Status -eq [ServiceProcess.ServiceControllerStatus]::Stopped } | 
<# Format-Table -Property DisplayName, Status -AutoSize |#>
Out-File -FilePath Services.txt -Encoding Unicode

Scénario limite

# Some well written script
exit
Writing something after exit is possible but not recommended.
It isn't a comment.
Especially in Visual Studio Code, these words baffle PSScriptAnalyzer.
You could actively break your session in VS Code.

8 votes

Cela n'ajoute rien de nouveau aux réponses qui existent déjà.

3voto

Mister X CT Points 82

Vous pouvez le faire :

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

 <#
    for more lines
    ...
    ...
    ...
    ..
    .
 #>

2 votes

Cela n'ajoute rien aux réponses existantes.

3voto

programmer365 Points 12651

Il existe une façon spéciale d'insérer des commentaires à la fin d'un script :

....
exit 

Hi
Hello
We are comments
And not executed 

Tout ce qui suit exit n'est pas exécuté, et se comportent comme des commentaires.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X