Было бы здорово увидеть файл diff.Без дополнительной информации, немного информации:
Set-Content
добавляет новую пустую строку в конце (вероятно, не проблема для вас) Вы можете использовать -replace
такой оператор:
(gc C: \ Scripts \ Test.js) -replace 'a', 'b' |sc C: \ Scripts \ Test.js
-replace
работает и с массивами.
- Вы можете прочитать содержимое через
[io.file]::ReadAllText('c:\scripts\test.js') and use
-replace`, но, опять же, я не думаю, что будет существенная разница.
Редактировать:
Двойные кавычки используются при оценке строки.Пример:
$r = 'x'
$a = 'test'
'beg',1,2,"3x",'4xfour','last' -replace "1|$r","$a"
дает
beg
test
2
3test
4testfour
anything
Чтобы сохранить содержимое без новой строки, просто используйте [io.file]::WriteAllText
$repl = (gc C:\Scripts\Test.js) -replace 'a','b' -join "`r`n"
[io.file]::WriteAllText('c:\scripts\test.js', $repl)