生成CLXML文件后:
[string]$myString = 'foobar' | Export-Clixml -Path C:\Files\test.clxml
我试图在右关闭锚点>
之后删除换行符。我试过了:
(Get-Content C:\Files\test.clxml) -replace "`n", "" | Set-Content C:\Files\test.clxml
还尝试使用-replace r
,但这会从文件中删除r
个字符。
我做错了什么?
答案 0 :(得分:1)
Get-Content
会返回一个数组,其中包含每一行(不包含任何换行符)。
Set-Content
将您的数组行写入一个文件,用换行符分隔它们。
意味着您应该执行以下操作以获得所需内容:
(Get-Content C:\Files\test.clxml) -join "" | Set-Content C:\Files\test.clxml
答案 1 :(得分:0)
您的问题是,在您的测试中,没有可替换的新行。 Get-Content
返回一个字符串 array ,在呈现时被视为在屏幕上显示换行符。要实际将它们放入要操作的字符串中,请尝试其中之一。
(Get-Content C:\Files\test.clxml -Raw) -replace "`n" | Set-Content C:\Files\test.clxml
(Get-Content C:\Files\test.clxml | Out-String) -replace "`n" | Set-Content C:\Files\test.clxml
如果您拥有PS版本2.0
,则需要后者