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

Ausgedruckt am: 24.11.2024 um 03:11 Uhr

5175293307
Lösung 5175293307 27.01.2023 aktualisiert um 10:53:45 Uhr
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.