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

时间:2018-12-12 16:05:46

标签: powershell newline

我有以下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
}

这只会更改两个值,但也会增加额外的换行符,因此,当该脚本每天运行多次时,我们最终得到一个大文件,最后包含空白行。

有办法防止这种情况吗?

1 个答案:

答案 0 :(得分:2)

使用-NoNewline参数

Set-Content -NoNewline -Path $_.FullName -Value $newFileContent
相关问题