Comentar código en PowerShell
-
Comentarios de una línea de PowerShell con el símbolo de comentario (
#
) - PowerShell comentando varias líneas usando bloques de comentarios
-
Escenario de caso de PowerShell Edge mediante el uso del comando
Exit
Si ha usado otros lenguajes como Bash, Python y Ruby, comentar en Windows PowerShell será similar.
Este artículo discutirá todos los casos de uso que podemos usar para comentar el código en Windows PowerShell.
Comentarios de una línea de PowerShell con el símbolo de comentario (#
)
Desde el principio, PowerShell V1.0 se envió y lanzó al público con la capacidad de comentar el código. Usamos el símbolo (#
) para comentar el código. Llamamos a este símbolo por muchos nombres, como el signo de número o el hash, pero Microsoft lo llamó oficialmente el símbolo de comentario.
Un solo símbolo de comentario (#
) comentará el código desde el primer #
hasta el final de la línea. Por supuesto, también podría poner múltiples símbolos de comentarios en una línea.
Código de ejemplo:
#######################################################
# Examples of one-line comments in Windows PowerShell #
#######################################################
Get-Process -Name *host* #### You could put more.
Get-Process -Name *host* # | Stop-Service # You can use it to comment out a part of a line.
# Get-Process -Name *host* # This will comment out the whole line.
Al comentar el código, se recomienda dejar un espacio entre el símbolo de comentario y el código. Algunos cmdlets usan el símbolo de comentario, pero no para comentar el código. Por ejemplo, el cmdlet #REQUIRES
es una declaración de PowerShell conocida que evitará que se ejecute un script a menos que se cumplan los módulos o los complementos de requisitos previos.
Código de ejemplo:
Get-Module AzureRM.Netcore | Remove-Module
#REQUIRES -Modules AzureRM.Netcore
Usando estas mejores prácticas, podemos evitar errores innecesarios en nuestro script.
PowerShell comentando varias líneas usando bloques de comentarios
Para comentar varias líneas de código sin usar varios símbolos de comentario por línea, podemos encerrar convenientemente nuestro símbolo de comentario con signos de menor que (<
) y mayor que (>
). A esto lo llamamos un bloque de comentarios.
El símbolo de comentario con el signo menor que (<#
) actuará como una etiqueta de apertura para nuestro bloque de comentarios, mientras que el símbolo de comentario con el signo mayor que servirá como etiqueta de cierre (#>
).
Código de ejemplo:
<#
Get-Process -Name *host*
Stop-Service -DisplayName Windows*Update -WhatIf
#>
Vale la pena señalar que puede insertar un solo símbolo de comentario entre el bloque de comentarios.
Código de ejemplo:
<#
Get-Process -Name 'host1'
#Tested up until this point
Stop-Service -DisplayName Windows*Update -WhatIf
#>
Sin embargo, anidar bloques de comentarios mediante la inserción de un nuevo conjunto de etiquetas de bloque de comentarios generará un error.
Código de ejemplo:
<#
Nope, these are not allowed in PowerShell.
<# This will break your first multiline comment block... #>
...and this will throw a syntax error. #This line will execute the throw cmdlet
#>
Alternativamente, presionando Ctrl+J y haciendo clic en Bloque de comentarios
generará un bloque de código en su secuencia de comandos.
Escenario de caso de PowerShell Edge mediante el uso del comando Exit
Recuerde que el comando Exit
finalizará y cerrará su entorno de secuencias de comandos. Por lo tanto, todo lo que se escribe después del comando Exit
no se ejecuta. A esto lo llamamos el escenario del caso extremo. Es posible escribir algo después del comando Exit
, pero no se recomienda porque otros entornos de secuencias de comandos pueden leer mal estas líneas adicionales y causar un error.
Código de ejemplo:
Get-Process -Name 'host1'
exit
Anything beyond the `<# exit #>` line is not executed inside the PowerShell scripting environment. However, as mentioned before, this is not recommended despite being possible.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn