powershell Exanda字符串中断EOL

3mpgtkmj  于 2022-11-10  发布在  Shell
关注(0)|答案(1)|浏览(122)

上下文

我有一个名为DEV.properties的多行文件。它包含对ENV变量的引用

ACTIVEMQ_DB_USERNAME=${ACTIVEMQ_DB_USERNAME}

我正在编写一个PS脚本,用填充了相关变量的文件替换这个文件

问题

我是这样做的


# first load variables from a file

Get-Content C:\somewhere\over\the\rainbow\.credentials | Foreach-Object{$var = $_.Split('=');New-Variable -Name $var[0] -Value $var[1]}
$template = Get-Content DEV.properties
$expanded = $ExecutionContext.InvokeCommand.ExpandString($template)

替换是成功的,但虽然$template是一个多行字符串,但所有CRLF似乎都从$expanded中消失了。我怎么才能修好它?还有比循环遍历所有行更直接的方法吗?

4nkexdtk

4nkexdtk1#

$expanded = $template | %{ $ExecutionContext.InvokeCommand.ExpandString($_) }

相关问题