使用PowerShell以UTF编写文件
在使用UTF-8时, Out-File
似乎强制BOM:
$MyFile = Get-Content $MyPath
$MyFile | Out-File -Encoding "UTF8" $MyPath
如何使用PowerShell以UTF-8编写不含BOM的文件?
使用.NET的UTF8Encoding
类并将$False
传递给构造函数似乎可行:
$MyFile = Get-Content $MyPath
$Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding $False
[System.IO.File]::WriteAllLines($MyPath, $MyFile, $Utf8NoBomEncoding)
到目前为止, 正确的方法是使用@Roman Kuzmin推荐的解决方案在@M中的解决方案。 达德利回答:
[IO.File]::WriteAllLines($filename, $content)
(我也通过删除不必要的System
名称空间澄清来缩短它 - 它将被默认自动替换。)
我想这不会是UTF,但我只是找到了一个非常简单的解决方案,似乎工作...
Get-Content path/to/file.ext | out-file -encoding ASCII targetFile.ext
对我来说,无论源格式如何,这都会导致utf-8无bom文件。
链接地址: http://www.djcxy.com/p/29109.html