我的问题与PowerShell 4.0(Win7)有关。
目标是从文本文件中获取一个选定的多行字符串以及另一个准备好的文本。
我正在使用以下代码:
$nl = [System.Environment]::NewLine
[string]$text1 = 'Hello World' + $nl
$b = (Get-Content textfile.txt | Out-GridView -OutputMode Multiple)
textfile.txt的内容:
tester 1
tester 2
tester 3
我从GridView中选择测试仪1和测试仪2,然后单击“确定” $ b的输出在2个单独的行中给出了以下(预期)结果:
$b
tester 1
tester 2
到目前为止,这么好
现在我把字符串放在一起:
$test = $text1 + $b
$ test的输出给出了以下(意外)结果:
$test
Hello World
tester 1 tester 2
问题: 为什么$ test的输出不是2个单独的行,而是$ b ??
的输出我希望它是:
Hello World
tester 1
tester 2
答案 0 :(得分:1)
问题解决了。我在以下帖子中找到了解决方案:
https://stackoverflow.com/a/4433240/9033281
我必须像这样设置“输出字段分隔符”:
$OFS = "`r`n"
谢谢Keith Hill: - )