Преобразование текстового файла в UTF-8 в командной строке Windows

13

Мне нужно преобразовать текстовый файл в формат UTF-8 через командную строку Windows. Это необходимо сделать на другом компьютере, и у меня нет прав для установки программного обеспечения на этот компьютер. Мне нужно что-то вроде:

c:\notepad   source-file target-file --encoding option

Есть ли утилита командной строки Windows, которая может это сделать?

user1107888
источник

Ответы:

24

Мне нужно преобразовать текстовый файл в формат utf-8 через командную строку Windows

Вы можете легко сделать это с PowerShell:

Get-Content .\test.txt | Set-Content -Encoding utf8 test-utf8.txt

Дальнейшее чтение

ДэвидПостилл
источник
Кроме того, вам нужно переключиться на powershell, чтобы выполнить команду, а затем выйти из нее, чтобы вернуться в командную строку Windows.
user1107888
В самом деле. Или запустите его непосредственно в оболочке PowerShell.
DavidPostill
@DavidPostill какие-либо идеи, как мы можем преобразовать более одного файла, т.е. пакетной обработки файлов с помощью одной и той же командной строки?
vibs2006
1
@ vibs2006 Используйте ForEachцикл. См. ForEach - PowerShell - SS64.com .
DavidPostill
1

Используйте iconvиз пакета GNUWin32. Это намного быстрее, особенно если ваши файлы около или более 1 Гб.

"C:\Program Files (x86)\GnuWin32\bin\iconv.exe" -f cp1251 -t utf-8 source.txt > result.txt
Рауль Нк
источник
что делает cp1251флаг?
lacostenycoder
это входная кодировка. en.wikipedia.org/wiki/Windows-1251
надре
1

Вот для каждого конвертировать * .text файл в * .sql файл:

foreach ($file in get-ChildItem *.txt) {
    Echo $file.name
    Get-Content $file | Set-Content -Encoding utf8 ("$file.name" +".sql")
 }
nobjta_9x_tq
источник
после запуска какого-то файла sql, иногда ошибка, я решил использовать linux с командой iconv =))
nobjta_9x_tq