Bagaimana Anda mengomentari kode di PowerShell?

939

Bagaimana Anda mengomentari kode di PowerShell (1.0 atau 2.0)?

labirin
sumber
24
Catatan '#' adalah komentar dalam banyak bahasa shell dan skrip: bash, python, php, ruby, dan sekarang powershell.
yzorg
61
Ini adalah persis mengapa saya berasumsi bahwa #tidak komentar dalam bahasa scripting Windows atau Microsoft berbasis.
René Nyffenegger
2
Itu karena, tampaknya, tidak seperti semua teknologi mereka yang lain, MS tidak memberikan referensi yang layak. Saya tidak dapat menemukannya di mana pun.
dudeNumber4
5
@ dudeNumber4 PowerShell memiliki salah satu referensi paling komprehensif dari bahasa apa pun. Agar fitur dapat ditambahkan ke bahasa, itu harus mencakup helpdokumentasi yang komprehensif dengan contoh, metode dan daftar anggota, dll.
TylerH

Jawaban:

1251

Di PowerShell V1 hanya ada #untuk membuat teks setelah komentar.

# This is a comment in Powershell

Di PowerShell V2 <# #>dapat digunakan untuk memblokir komentar dan lebih khusus lagi untuk komentar bantuan.

#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
{}

Untuk penjelasan lebih lanjut tentang .SYNOPSISdan .*lihat about_Comment_Based_Help .

Catatan: Komentar fungsi ini digunakan oleh Get-HelpCmdLet dan dapat diletakkan sebelum kata kunci Function, atau di dalam {}sebelum atau setelah kode itu sendiri.

JPBlanc
sumber
45
tidak tahu tentang komentar blok <# #>. bagus
Dennis G
3
Anda dapat menemukan tata bahasa untuk PowerShell v3 di sini: microsoft.com/en-us/download/details.aspx?id=36389 . Lihatlah bagian B.1.2 Comments.
james.garriss
Saya menggunakan fungsi Send-MailMessage, dengan backticks untuk menempatkan setiap paremeter pada baris baru, dan berkomentar salah satunya (-Bcc) dan itu menyebabkan kesalahan pada baris berikutnya (-Body: Istilah '-Body' adalah tidak dikenali sebagai nama cmdlet ...) Jadi sepertinya mengomentari garis di tengah panggilan ke fungsi tidak didukung. Mungkin itu adalah garis-kelanjutan, mungkin itu sesuatu yang lain, baik cara itu tidak seperti yang saya harapkan akan berhasil
Davos
Mengomentari seperti itu akan benar-benar sejalan. Perintah Anda pada akhirnya akan diurai seperti: Kirim-MailMessage -To [email protected] #Ini adalah komentar -Subjek "Tolong Saya!" dll
CitizenRon
Saya merasa lebih dapat diandalkan untuk menempatkan komentar fungsi segera setelah pembukaan {( di dalam fungsi). Secara khusus, saya mengalami kesulitan membuatnya berfungsi di luar dengan fungsi modul skrip.
jpmc26
36

Komentar satu baris dimulai dengan simbol hash , semua yang ada di kanan #akan diabaikan:

# Comment Here

Di PowerShell 2.0 dan di atas, komentar blok multi-baris dapat digunakan:

<# 
  Multi 
  Line 
#> 

Anda bisa menggunakan blokir komentar untuk menyematkan teks komentar dalam sebuah perintah:

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

Catatan: Karena PowerShell mendukung Penyelesaian Tab, Anda harus berhati-hati dalam menyalin dan menempel Space + TABsebelum komentar.

Alexander
sumber
3
+1 untuk menunjukkan penggunaan gaya komentar blok dalam satu baris . Saya datang ke sini mencari cara untuk sementara mengomentari elemen-elemen individual dari sebuah array semua dinyatakan pada satu baris.
Chris Oldwood
17

Sini

# Single line comment in Powershell

<# 
--------------------------------------
Multi-line comment in PowerShell V2+ 
-------------------------------------- 
#>
Vic
sumber
11
Apa yang ini tambahkan ke jawaban yang ada?
TZHX
5
Tetap sederhana & langsung
Vic
1
Saya pikir banyak jawaban yang lupa bahwa bahasa Inggris tidak selalu merupakan bahasa pertama, dan terlalu banyak bicara dan kompleks dalam pembukaan sebelum benar-benar mencapai jawabannya. Jawaban ini sempurna, langsung ke contoh yang kita cari.
Geoff Griswald
15

Di dalam PowerShell ISE Anda dapat menekan Ctrl+ Juntuk membuka menu Mulai Snipping dan pilih Blok komentar :

masukkan deskripsi gambar di sini

Martin Brandl
sumber
Ini memasukkan komentar blok baru; tidak mengomentari baris yang ada.
TylerH
3

Anda dapat membuat:

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

 <#
    for more lines
    ...
    ...
    ...
    ..
    .
 #>
Tuan X CT
sumber