Was ist der Unterschied zwischen "Write-Host" "Write-Output", oder "[console]::WriteLine"?

Gibt es eine Reihe von verschiedenen Möglichkeiten, um Meldungen auszugeben. Was ist der effektive Unterschied zwischen der Ausgabe etwas über Write-Host, Write-Output oder [console]::WriteLine?

Ich auch feststellen, dass wenn ich:

write-host "count=" + $count

Den + wird in die Ausgabe aufgenommen. Warum? Sollte das nicht der Ausdruck, der ausgewertet werden, um zu produzieren, eine einzige verkettete Zeichenfolge bevor es richtig geschrieben?

  • Write-Output wenn man emitting Ergebnisse. Write-Host wenn Sie ausstrahlen von logging-Informationen. Verwenden Sie niemals [console]::writeline().
  • warum sollten wir nie verwenden Sie [console]::writeline() ?
  • Denn Sie haben Write-Host.... Ok, ich habe unter einigen Eindruck, es zeigte eine neue Konsole-Fenster (es war ziemlich lange her). Dass das nicht passiert, aber die Tatsache bleibt, dass es nicht die powershell-idiom, und es gibt nichts, was Sie tun können, mit [console]::writeline("hello world") dass Sie nicht tun können, mit Write-Host "hello world". Ein anderes, besseres, mehr vor kurzem die zutreffende Antwort ist, dass write-host wraps write-information so seine Daten bekommt, setzen auf einen stream wie write-error so können Sie erfassen und verwenden Sie es woanders. [console]::writeline() macht das nicht
Schreibe einen Kommentar