Bagaimana Anda mengomentari kode di PowerShell?


939

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


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.


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 bob@bob.com #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.


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+ 
-------------------------------------- 
#>

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


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
    ...
    ...
    ...
    ..
    .
 #>
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.