Ich vermute, warum Powershell dies für Ihr zweites Beispiel druckt
[string]$A = $_ Write-Host $A [string]$A = $_ Write-Host $A
liegt daran, dass Powershell die doppelte Klammer {{}}als String-Literal verwendet.
Um dies zu erreichen, sollten Sie das testen, $Array
bevor Sie die for-Schleife ausführen.
So sollte der Code aussehen:
$Array = @(“This”,”is”,”a”,”test”) if($Array.Count -ge 1){ foreach($A in $Array){ Write-Host $A } }
Und als One-Liner (ish)
$Array = @(“This”,”is”,”a”,”test”) if($Array.Count -ge 1){ $Array| %}