Информация о состоянии 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).