Правильный синтаксис для справки на основе комментариев .EXAMPLE - PullRequest
0 голосов
/ 25 мая 2018

На основании информации в файлах справки Powershell (Get-Help about_comment_based_help) приведенный ниже код должен быть действительным:

<#
    .EXAMPLE
        PS C:\> .\help_test.ps1
#>

Ожидаемый результат при запуске Get-Help. \ Help_test.ps1-full должно быть:

PS C:\Users\cbarton\Desktop\github\Powershell> Get-Help .\help_test.ps1 -full

NAME
    C:\Users\cbarton\Desktop\github\Powershell\help_test.ps1

SYNOPSIS


SYNTAX
    C:\Users\cbarton\Desktop\github\Powershell\help_test.ps1 [<CommonParameters>]


DESCRIPTION


PARAMETERS
    <CommonParameters>
        This cmdlet supports the common parameters: Verbose, Debug,
        ErrorAction, ErrorVariable, WarningAction, WarningVariable,
        OutBuffer, PipelineVariable, and OutVariable. For more information, see
        about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216).

INPUTS

OUTPUTS

    -------------------------- EXAMPLE 1 --------------------------

    PS C:\> .\help_test.ps1







RELATED LINKS

Однако, по моему опыту, я не могу показать мои примеры таким же образом.Вместо этого командная часть примера объединяется с путем со всеми удаленными пробелами.

OUTPUTS

    -------------------------- EXAMPLE 1 --------------------------

    PS C:\>.\help_test.ps1

Я делаю что-то не так или все примеры Microsoft неверны?

PS C:\Users\cbarton\Desktop\github\Powershell> $psversiontable

Name                           Value
----                           -----
PSVersion                      5.1.14409.1012
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.14409.1012
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

1 Ответ

0 голосов
/ 25 мая 2018

PowerShell неизменно переформатирует первую (непустую) строку после .EXAMPLE внутри блока справки на основе комментариев.

Фактически, вам даже не нужно указыватьPS C:\> себя - он добавляется автоматически, так что вы получите тот же результат с:

<#
    .EXAMPLE
    .\help_test.ps1
#>

Однако, явно указанная пользовательская строка приглашения, такая как C:\path\to> сохраняется .

Однако, строка подразумеваемого или настраиваемого приглашения неизменно объединяется с остальной частью строки с удалением начального пробела , так что никогда пробел после >.

Учитывая, что реальное (по умолчанию) приглашение PowerShell следует > с одним пробелом, несоответствие должно быть исправлено.

Еще один проблемный аспект заключается в том, что PowerShell Core по умолчанию равен PS C:\> в примерах даже на Unix -подобных платформах (т. Е. Используется * 1038).* Windows путь к файловой системе), что может сбивать с толку.

I'mvМы сообщали об этих проблемах на GitHub .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...