How Do You Comment out Code in Powershell?
(1.0 or 2.0)? 5 10 Answers in Powershell V1 There's Only # to Make the Text After It a Comment. # This Is a Comment in Powershell in Powershell V2 Can Be Used...
How do you comment out code in PowerShell (1.0 or 2.0)?
10 Answers
In PowerShell V1 there's only # to make the text after it a comment.
# This is a comment in PowerShell
In PowerShell V2 <# #> can be used for block comments and more specifically for help comments.
#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 ()
Prerequisite : PowerShell V2 over Vista and upper.
Copyright 2011 - Jean Paul Blanc/Silogix
.LINK
Script posted over:
.EXAMPLE
Example 1
.EXAMPLE
Example 2
#>
Function blabla
{}
For more explanation about .SYNOPSIS and .* see about_Comment_Based_Help.
Remark: These function comments are used by the Get-Help CmdLet and can be put before the keyword Function, or inside the {} before or after the code itself.
You use the hash mark like this:
# This is a comment in PowerShell
Wikipedia has a good page for keeping track of how to do comments in several popular languages:
Single line comments start with a hash symbol, everything to the right of the # will be ignored:
# Comment Here
In PowerShell 2.0 and above multi-line block comments can be used:
<#
Multi
Line
#>
You could use block comments to embed comment text within a command:
Get-Content -Path <# configuration file #> C:\config.ini
Note: Because PowerShell supports Tab Completion you need to be careful about copying and pasting Space + TAB before comments.
It's the #.
See PowerShell - Special Characters And Tokens for special characters.
Here
# Single line comment in PowerShell
<#
--------------------------------------
Multi-line comment in PowerShell V2+
--------------------------------------
#>
Within PowerShell ISE you can hit Ctrl+J to open the Start Snipping menu and select Comment block:
Use a hashtag followed by a white space(!) for this:
# Comment here
Do not forget the white space here! Otherwise it can interfere with internal commands.
E.g., this is not a comment:
#requires -runasadmin
You can make:
(Some basic code) # Use "#" after a line and use:
<#
for more lines
...
...
...
..
.
#>
There is a special way of inserting comments add the end of script:
....
exit
Hi
Hello
We are comments
And not executed
Anything after exit is not executed, and behave quite like comments.
I'm a little bit late to this party but seems that nobody actually wrote all use cases. So...
Only supported version of PowerShell these days (fall of 2020 and beyond) are:
- Windows PowerShell 5.1.x
- PowerShell 7.0.x.
You don't want to or you shouldn't work with different versions of PowerShell.
Both versions (or any another version which you could come around WPS 3.0-5.0, PS Core 6.x.x on some outdated stations) share the same comment functionality.
Must Read
One line comments
# 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