我使用下面的管道读取文件并替换它中的一行并将其保存到另一个文件,但发现目标文件中的字符串没有被替换,它仍然是旧文件.
原来的行是:name-1a2b3c4d
新行应该是:name-6a5e4r3h
(Get-Content "test1.xml") | ForEach-Object {$_ -replace '^name-.*$', "name-6a5e4r3h"} | Set-Content "test2.xml"
Run Code Online (Sandbox Code Playgroud)
那里有什么遗漏?