Кодировка UTF8 без спецификации — PowerShell

У меня есть файл bat, в котором я кодирую некоторые файлы CSV. Проблема в том, что после кодирования в начале файла есть один символ (я думаю, байт спецификации). Этот символ меня беспокоит, потому что после кодирования я использую этот файл для создания базы данных. Вот строка для кодировки (внутри bat-файла):

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

Есть ли способ закодировать файл без спецификации (если это проблема) ??

Спасибо!


person javiazo    schedule 17.07.2013    source источник


Ответы (1)


Я нашел решение. Просто измените строку следующим образом:

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
person javiazo    schedule 17.07.2013
comment
можешь объяснить синтаксис? - person yashhy; 15.10.2014