使用PowerShell,我想用MyValue'替换给定文件中所有确切出现的
[MYID]`。有什么最简单的方法可以做到这一点?
使用(V3版本)。
(Get-Content c:\temp\test.txt).replace('[MYID]', 'MyValue') | Set-Content c:\temp\test.txt
或为V2版。
(Get-Content c:\temp\test.txt) -replace '\[MYID\]', 'MyValue' | Set-Content c:\temp\test.txt
(Get-Content file.txt) |
Foreach-Object {$_ -replace '\[MYID\]','MyValue'} |
Out-File file.txt
注意"(Get-Content file.txt)"周围的括号是必须的。
如果没有括号,内容就会被读取,一次一行,并在管道中流动,直到到达out-file或set-content,它试图写到同一个文件,但它已经被get-content打开,你会得到一个错误。小括号使读取内容的操作被执行一次(打开、读取和关闭)。只有当所有的行都被读完后,它们才会被一个一个地输送,当它们到达管道中的最后一条命令时,它们就可以被写入文件。这与$content=content; $content | where ...