marabunta
Goto Top

Unterschied Write-Host und nur der Variable

Hallo,

was ist der Unterschied zwischen:
$a=5
$a
und
$a=5
Write-Host "$a"  

Beides gibt es in der Konsole aus, gibt es aber noch andere?

Content-ID: 5669955408

Url: https://administrator.de/contentid/5669955408

Printed on: December 4, 2024 at 06:12 o'clock

5175293307
Solution 5175293307 Jan 27, 2023 updated at 09:53:45 (UTC)
Goto Top
V> Zitat von @Marabunta:
was ist der Unterschied zwischen:
$a=5
$a
und
$a=5
Write-Host "$a"  

Beides gibt es in der Konsole aus, gibt es aber noch andere?
Nur das erste schreibt implicit in den Ausgabe-Stream (out stream) für die Pipeline um die Objekte dort weiterverarbeiten zu können (write-output), das andere zeigt es rein nur auf der Konsole an.

Vergleiche die Ausgabe von
$a = 100
write-host $a | foreach { "Wert: $_"}  
$a | foreach { "Wert: $_"}  
Sie ist
100
Wert: 100
Bei der ersten Ausgabe agiert nur write-host und nicht mehr die nachfolgende Schleife weil write-host nicht in den Output Stream schreibt, was jedoch bei der zweiten Ausgabe der Fall ist.
Das einfache hin schreiben der Variable ist das implizite Verwenden von write-output ohne das man das CMDLet explizit schreiben müsste, es ist quasi das selbe wie wenn man write-output davor schreiben würde.