In a PowerShell script, I'm capturing the string output of an EXE file in a variable, then concatenating it with some other text to build an email body.
However, when I do this I find that the newlines in the output are reduced to spaces, making the total output unreadable.
# Works fine
.\other.exe
# Works fine
echo .\other.exe
# Works fine
$msg = other.exe
echo $msg
# Doesn't work -- newlines replaced with spaces
$msg = "Output of other.exe: " + (.\other.exe)
Why is this happening, and how can I fix it?
Or you could simply set $OFS like so:
PS> $msg = 'a','b','c'
PS> "hi $msg"
hi a b c
PS> $OFS = "`r`n"
PS> "hi $msg"
hi a
b
c
From man about_preference_variables
:
Output Field Separator. Specifies the character that separates the elements of an array when the array is converted to a string.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With