Konvertieren von Textdateien in UTF-8 an der Windows-Eingabeaufforderung

17

Ich muss eine Textdatei über die Windows-Eingabeaufforderung in das UTF-8-Format konvertieren. Dies muss auf einem anderen Computer erfolgen, und ich habe keine Rechte, Software auf diesem Computer zu installieren. Ich brauche so etwas wie:

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

Gibt es ein Windows-Eingabeaufforderungsprogramm, das dies kann?

user1107888
quelle

Antworten:

29

Ich muss eine Textdatei über die Windows-Eingabeaufforderung in das utf-8-Format konvertieren

Mit PowerShell können Sie dies ganz einfach tun:

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

Weiterführende Literatur

DavidPostill
quelle
Außerdem müssen Sie zu Powershell wechseln, um den Befehl auszuführen, und ihn dann beenden, um zur Windows-Eingabeaufforderung zurückzukehren.
user1107888
Tatsächlich. Oder führen Sie es direkt in einer PowerShell-Shell aus.
DavidPostill
@ DavidPostill eine Idee, wie wir mehr als eine Datei konvertieren können, dh Batch-Datei-Verarbeitung mit der gleichen Befehlszeile?
Vibs2006
1
@ vibs2006 Verwenden Sie eine ForEachSchleife. Siehe ForEach - PowerShell - SS64.com .
DavidPostill
Wird diese Methode in einfaches UTF-8 oder UTF-8-BOM konvertiert?
Cale Sweeney
2

Verwendung iconvaus dem GNUWin32-Paket. Es ist viel schneller, insbesondere wenn Ihre Dateien ungefähr 1 GB groß oder größer sind.

"C:\Program Files (x86)\GnuWin32\bin\iconv.exe" -f cp1251 -t utf-8 source.txt > result.txt
Raul Nk
quelle
Was macht die cp1251Flagge?
Lacostenycoder
Es ist die Eingabecodierung. en.wikipedia.org/wiki/Windows-1251
Nadre
2

Hier ist für jede Konvertierung von * .text-Datei in * .sql-Datei:

foreach ($file in get-ChildItem *.txt) {
    Echo $file.name
    Get-Content $file | Set-Content -Encoding utf8 ("$file.name" +".sql")
 }
nobjta_9x_tq
quelle
Nachdem ich eine SQL-Datei ausgeführt hatte, entschied ich mich, Linux mit dem Befehl iconv zu verwenden =))
nobjta_9x_tq