Powershell转义字符`(反引号)不转义字符串

Powershell escape character ` (backtick) not escaping string

我在 powershell 中向字符串中添加新行时遇到问题:

Get-ChildItem "C:\Users\matt\Desktop\CShell Install" |foreach {'<Component Id="'+$_.name+'" Guid="' +[guid]::NewGuid() + '">`r`n<File Id="'+$_.name+'" Source="$(var.CShell.TargetPath)"></File></Component>'}

如您所见,我希望在

处出现一个换行符

``r`n

而是按字面打印。

有什么指点吗?

不要使用单引号,因为您希望 PowerShell 支持反引号(或您需要 PowerShell 解释的任何其他字符)。

"FirstLine`r`nSecondLine" prints
FirstLine
SecondLine

'"FirstLine`r`nSecondLine"' prints
"FirstLine`r`nSecondLine"