2013-07-17 186 views
2

我有一個bat文件,我編碼一些CSV文件。問題是,一旦完成編碼(我猜想BOM字節),文件開頭就有一個字符。這個字符在編碼後困擾我,我使用這個文件來生成一個數據庫。 這裏是編碼(內bat文件)行:UTF8編碼沒有BOM - PowerShell

powershell -Command "&{ param($Path); (Get-Content $Path) | Out-File $Path -Encoding UTF8 }" CSVs\\pass.csv 

有什麼辦法來編碼無BOM文件(如果這是問題)?

謝謝!

回答

3

我找到了解決方案。 只需更改此行:

powershell -Command "&{ param($Path); $Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding($False); $MyFile = Get-Content $Path; [System.IO.File]::WriteAllLines($Path, $MyFile, $Utf8NoBomEncoding) }" CSVs\\pass.csv 
+1

你能解釋一下這個語法嗎? – yashhy