使用powershell替换txt文件中的文本块

使用powershell替换txt文件中的文本块,powershell,newline,Powershell,Newline,我有下面的powershell脚本,它替换了任何文本文件中的多行文本,它工作得很好,但我对它有一点不满。每当它替换我想要的行时,就会在txt文件的末尾添加一个空行 守则: $oldCode = @" <uservalue1 value="0" /> <uservalue1 value="1" /> "@ $newCode = @" <uservalue1 value="1" /> <uservalue1

我有下面的powershell脚本,它替换了任何文本文件中的多行文本,它工作得很好,但我对它有一点不满。每当它替换我想要的行时,就会在txt文件的末尾添加一个空行

守则:

$oldCode =  @"
      <uservalue1 value="0" />
      <uservalue1 value="1" />
"@

$newCode = @"
      <uservalue1 value="1" />
      <uservalue1 value="2" />
"@

ls myfile.txt | foreach { 
    $fileContent = Get-Content $_.FullName -Raw
    $newFileContent = $fileContent -replace $oldCode, $newCode
    Set-Content -Path $_.FullName -Value $newFileContent
}
$oldCode=@”
"@
$newCode=@”
"@
ls myfile.txt | foreach{
$fileContent=Get Content$\.FullName-Raw
$newFileContent=$fileContent-替换$oldCode,$newCode
设置内容-路径$\u.FullName-值$newFileContent
}
这只会更改两个值,但也会添加一个额外的换行符,因此,当该脚本一天运行多次时,我们最终会得到一个包含末尾空行的大文件


有没有办法防止这种情况发生?

使用
-NoNewline
参数

Set-Content -NoNewline -Path $_.FullName -Value $newFileContent

有没有办法在Powershell v2中运行上述脚本?或者应该如何修改它以使其从Powershell v2开始工作?以上仅适用于Powershell v3或更高版本。