Problem gelöst:cmd, BATch Umlaute Windows robocopy chcp 1252

 

Probleme mit Umlauten in Batch (CMD) Dateien liegen an der Verwendung unterschiedlicher Zeichensätze. So klappt beispielsweise das Kopieren eines Ordners mit Umlauten nicht, da das Batch-Skript diese nicht richtig interpretiert. Wer ein Video bevorzugt, kann sich dazu mein YouTube-Video ansehen.

das Problem: OEM 850, ANSI, UTF-8

DOS und auch die Eingabeaufforderung verwendet OEM 850 und nicht ANSI oder UTF-8 als Zeichensatz. 

Die Batch-Datei wird über den Editor (Notepad) mit Windows-1255 angelegt.

Notepad - chcp 1252

Wer den Standard-Windows Editor (Notepad) verwendet, kann einfach am Beginn der cmd-Datei den Zeichensatz auf 1252 stellen:

chcp 1252

Damit wird die Eingabeaufforderung auf den Zeichensatz 1252 geändert und die mit Notepad abgespeicherte Batch-Datei (im Format 1255) funktioniert. 

Wer die Eingabeaufforderung weiter mit 850 betreiben will, kann alternativ mittels Notepad++ den Zeichensatz der Datei auf 850 oder 852 stellen:

Notepad++ 

Versionsinfo: Notepad++ 8.7 erweiterter Texteditor

Language: MS-DOS Style und Encoding Character sets: Central European: OEM 852

  

 

Notepad++ speichert die Datei jetzt als OEM 852, die Eingabeaufforderung interpretiert diese mit der Standardeinstellung: OEM 850

YouTube-Video

Die Änderungen an den File-Kodierungen werden zusätzlich in folgendem YouTube-Video vorgestellt:

weiterführende Themen

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!

Fragen / Kommentare


(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]

✍anonym
09.10.2019 07:40
User: Anonymous 
Für UTF-8 Dateien am Anfang "chcp 65001" verwenden.

Das Setzen der Codepage am Anfang der Batch-Datei erscheint mir die sauberste Lösung, weil man grundsätzlich nicht wissen kann welche Codepage die Shell (cmd) benutzt, besonders wenn die Datei auch auf anderen Rechnern ausgeführt wird. Bei mir z.B. war die Codepage der Shell 437 statt 850.

✍anonym
03.12.2019 18:45
User: Hilfesuchender 
Danke, funktioniert und hat mir sehr geholfen.

✍anonym
12.04.2020 18:13
User: Nod15c 
Daten in Excel kopieren/erstellen mit Dateityp - Text (MS-DOS) speichern.
Dateiendungen einblenden im Explorer und .txt zu .cmd wandeln.

✍anonym
gepostet am 16.06.2022 23:25
Und für diejenigen, die kein Excel nutzen wollen/können:
Einfach das in jedem Windows enthaltene Wordpad nehmen. Der Vorgang bleibt (fast) der gleiche.

Daten in Wordpad kopieren/erstellen > Speichern unter > Dateityp: Textdokument - MS-DOS-Format (*.txt) >> Vorsicht, es wird außerdem Unicode (*.txt) und Text (*.txt) angeboten!
Dateiendungen einblenden im Explorer und .txt zu .cmd umbenennen.

Beitrag erstellt von anonym

✍anonym
26.02.2020 16:06
User: Rainer 
Danke … 

✍anonym
18.04.2019 13:12
User: TH 
Perfekt. Danke für die Anleitung :)

✍anonym
04.04.2019 09:05
User: BlogLeser 
Wieso soll man die Kodierung/Encoding auf OEM 852 stellen, wenn die Codepage 850 anzeigt?
Die richtige Einstellung ist also Kodierung -> Weitere -> Westeuropäisch -> OEM 850.

Dann kann man im Batch selber äöü verwenden, die werden im Batch und in der Ausgabe richtig dargestellt.

✍anonym
04.04.2019 09:02
User: BlogLeser 
Die Sprache/Language würde ich aktuell eher mit B und Batch wählen. Das gibt die wesentlich schönere Syntax-Anzeige in Notepad++

✍anonym
01.04.2019 14:13
User: Martin 
Für Notepad++ gibt es ein schönes Plugin "AutoCodepage", mit der man die Umstellung der Codepage in Notepad++ automatisch für alle .BAT-Dateien erledigen lassen kann.

✍anonym
21.11.2017 12:54
User: Björn 
Und ein weiterer Grund Linux zu verwenden... Wenigstens die Benutzung der Konsole zum Verschieben oder zum Kopieren von Dateien funktioniert dort ohne schwindelige Einstellungen des Zeichensatzes in den Shell-Skripte! :-)
✍anonym
gepostet am 27.05.2023 08:14
Linux hat in bestimmten Fällen sogar mehr Funktionen wie das von Windows :-)

Beitrag erstellt von anonym

✍anonym
23.03.2016 12:04
User: chrigel 
Ja wie geil ist das denn. Endlich klappts mit den Umlauten im Batch-Programm.

Super, vielen Dank

✍anonym
15.03.2016 00:11
User: eT 
Ich bedanke mich auch :)

✍anonym
25.02.2016 05:56
User: Fritz Pinguin 
Super Beitrag! Jetzt kann ich endlich wieder ruhig schlafen, denn das Moerderproblem ist behoben. Es ging um Erstellung einer Batchdatei fuer DOS aus einem Windowsprogramm. Ich war kurz davor, den Support fuer Windows einzustellen und nur noch eine Linuxversion zu machen. Vielen Dank!

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu Mehr Details