$newContent = ( Get-Content .\settings.xml ) -replace 'expression', 'newvalue'
$UTF8NoBom = New-Object System.Text.UTF8Encoding( $false )
[System.IO.File]::WriteAllText( '.\settings.xml', $newContent, $UTF8NoBom )
我也试过用
Out-File
UTF8
由于编码仍包含物料清单:
( Get-Content .\settings.xml ) -replace 'expression', 'newvalue' | Out-File -Encoding 'UTF8' .\settings.xml
我想做的只是重定向到一个没有BOM的文件:
( Get-Content .\settings.xml ) -replace 'expression, 'newvalue' > settings.xml
Write-FileWithoutBom
要接受管道输入和输出路径,在将输出重定向到文件时是否可以简单地“关闭”编写BOM?
解决方案不一定
有