Информация о состоянии Powershell

Каков предписанный метод для отображения статуса или информации о прогрессе для пользователя из сценария Powershell? Например, "Подключение к базе данных..." Обычно я печатаю в STDERR.

В Powershell есть командлет Write-Progress, но он предназначен для индикатора выполнения.

1 ответ

Решение

Вы можете использовать командлет Write-Host. Строки, отображаемые с помощью узла записи, отправляются непосредственно на консоль и не считаются частью выходного потока. Например:

function foo {
    Write-Host "Entering foo"
    "Hello World"
    Get-Date
    [Math]::Pi
    Write-Host "Exiting foo"
}

PS> $results = foo
Entering foo
Exiting foo
PS> $OFS = ', '
PS> "Outputting results: $results"
Outputting results: Hello World, 11/05/2009 18:55:24, 3.14159265358979

Обратите внимание, что вывод из Write-Host появляется немедленно на хосте и не становится частью потока вывода (или в этом случае - вывода функции foo).

Другие вопросы по тегам