PowerShell'de kodu nasıl yorumluyorsunuz?


938

PowerShell'de (1.0 veya 2.0) kodu nasıl yorumluyorsunuz ?


24
Not '#' birçok kabuk ve betik dilinde bir yorumdur : bash, python, php, ruby ​​ve şimdi powershell.
yzorg

61
Bu tam olarak ben farz neden #Windows veya Microsoft tabanlı kodlama dilinde bir açıklama değildir.
René Nyffenegger

2
Çünkü görünüşe göre, diğer tüm teknolojilerinin aksine, MS powershell'e iyi bir referans vermedi. Hiçbir yerde bulamadım.
dudeNumber4

5
@ dudeNumber4 PowerShell, herhangi bir dilin en kapsamlı referanslarından birine sahiptir. Bir özelliğin dile eklenebilmesi için örnekler, yöntem ve üye listeleri vb. help
İçeren

Yanıtlar:


1250

PowerShell V1'de #metni yalnızca yorumdan sonra yapmak gerekir.

# This is a comment in Powershell

PowerShell V2'de <# #>blok yorumları ve daha özel olarak yardım yorumları için kullanılabilir.

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

Hakkında daha fazla açıklama .SYNOPSISve about_Comment_Based_Help sayfasına.* bakın .

Not: Bu işlev açıklamaları Get-HelpCmdLet tarafından kullanılır ve anahtar kelimenin önüne veya kodun önüne veya Functionarkasına konabilir {}.


45
<# #> blok yorumu hakkında bilmiyordum. güzel
Dennis G

3
PowerShell v3 için dilbilgisini şu adreste bulabilirsiniz: microsoft.com/en-us/download/details.aspx?id=36389 . Bölüme bakın B.1.2 Comments.
james.garriss

Ben her paremeter yeni bir satıra koymak için backticks ile Send-MailMessage işlevini kullanıyordum ve bunlardan birini (-Bcc) yorum ve bir sonraki satırda hataya neden oldu (-Body: '-Body' terimi cmdlet'in adı olarak tanınmadı ...) Yani bir işleve yapılan çağrının ortasındaki bir satırı yorumlamak desteklenmiyor gibi görünüyor. Belki çizginin devamı, belki başka bir şey, her iki şekilde de çalışmasını beklemiyordum
Davos

Bu şekilde yorum yapmak aslında sıralı olacaktır. Komutunuz şu şekilde ayrıştırılır: Send-MailMessage -To bob@bob.com #Bu bir yorum -Alt "Bana Yardım Et!" vs
CitizenRon

Fonksiyon yorumunu açılıştan hemen sonra yerleştirmenin daha güvenilir olduğunu gördüm {( fonksiyonun içinde ). Özellikle, komut dosyası modülü işlevleriyle dışarıda çalışmasını sağlamakta sorun yaşadım.
jpmc26



36

Tek satırlı yorumlar bir karma sembolü ile başlar , sağdaki her şey #göz ardı edilir:

# Comment Here

PowerShell 2.0 ve üstü sürümlerde çok satırlı blok yorumları kullanılabilir:

<# 
  Multi 
  Line 
#> 

Açıklama metnini bir komuta gömmek için yorumları engelle'yi kullanabilirsiniz:

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

Not: PowerShell Sekme Tamamlama özelliğini desteklediğinden, Space + TAByorumlardan önce kopyalama ve yapıştırma konusunda dikkatli olmanız gerekir .


3
Tek satırda blok yorum stili kullanımını göstermek için +1 . Buraya, bir dizinin tümünün bir satırda bildirilen ayrı ayrı öğelerini geçici olarak nasıl yorumlayacağımı aramaya geldim.
Chris Oldwood

17

Buraya

# Single line comment in Powershell

<# 
--------------------------------------
Multi-line comment in PowerShell V2+ 
-------------------------------------- 
#>

11
Bu mevcut cevaplara ne katıyor?
TZHX

5
Sadece basit ve doğrudan tutmak
Vic

1
Cevapların birçoğunun İngilizce'nin her zaman ilk dil olmadığını ve cevaba ulaşmadan önce önsözlerinde çok ayrıntılı ve karmaşık olduğunu unutuyorum. Bu cevap mükemmel, doğrudan aradığımız örneklere ulaşmak.
Geoff Griswald

15

PowerShell ISE içinde Snipping'i Başlat menüsünü açmak için Ctrl+ Jtuşuna basabilir ve Yorum bloğu'nu seçebilirsiniz :

resim açıklamasını buraya girin


Bu, yeni bir blok yorumu ekler; mevcut satırlara yorum yapmaz.
TylerH

3

Yapabilirsin:

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

 <#
    for more lines
    ...
    ...
    ...
    ..
    .
 #>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.