заменить блок текста внутри txt файла используя powershell - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть следующий скрипт powershell, который заменяет несколько строк текста внутри любого текстового файла, и он работает хорошо, но у меня есть небольшая претензия к нему.Всякий раз, когда он заменяет нужные мне строки, он добавляет пустую строку в конец текстового файла.

Код:

$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 голосов
/ 12 декабря 2018

Используйте параметр -NoNewline

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