Out-File 似乎在使用UTF-8时强制BOM:
$MyFile = Get-Content $MyPath
$MyFile | Out-File -Encoding "UTF8" $MyPath
Run Code Online (Sandbox Code Playgroud)
如何使用PowerShell以UTF-8编写没有BOM的文件?
什么Get-Content真正输出,一个字符串或一个具有多个属性的对象?如果它是一个对象,哪个属性包含字符串,我可以修改该属性吗?该文件只有一行,所以我不必处理对象数组。
PS C:\Users\me> Get-Content input.txt 111 PS C:\Users\me> Get-Content input.txt | 选择对象 * PSPath : C:\Users\me\input.txt PSParentPath : C:\Users\me PSChildName : 输入 驱动器:C PSProvider : Microsoft.PowerShell.Core\FileSystem 读取计数:1 长度 : 3 PS C:\Users\me> (Get-Content input.txt).GetType() IsPublic IsSerial 名称 BaseType —————————————————— 真真字符串 System.Object
-replace 擦除除长度以外的所有额外属性:
PS C:\Users\me> (Get-Content input.txt) -replace 111, 222 | 选择对象 *
长度
------
3