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.   

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++ 

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

weiterführende Themen

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

DANKE für deine Bewertung!


Top-Artikel in diesem Bereich

Preview Update oder Treiber deinstallieren cmd: DISM

Update oder Treiber deinstallieren cmd: DISM

geändert: 21.03.2016 von Bernhard (Erstveröffentlichung: 13.10.2015)

Mit dem Commandline Befehl "dism" können in Windows oder in einem Installationsimage sowohl offline, als auch online Einstellungen geändert, Softwarepakete verwaltet und Treiber hinzugefügt oder entfernt werden. DISM ist Bestandteil von Windows 7, 8 und Windows 10. DISM basiert auf der Eingabeaufforderung und funktioniert unabhängig von Windows Powershell und dotnet Framework. Zudem ist DISM in der Recoverykonsole der Windows SetupDVD enthalten. DISM ist a... ... weiterlesen

Preview Localsystem: lokales Systemkonto verwenden - mehr Rechte

Localsystem: lokales Systemkonto verwenden - mehr Rechte

geändert: 15.01.2016 von Bernhard (Erstveröffentlichung: 27.10.2015)

Aus Anwendersicht gibt es keinen vernünftigen Grund etwas als "SYSTEM" zu starten. Wenn der lokale Administrator aber zu wenig Rechte hat, kann "SYSTEM" den Zugriff dennoch gewährleisten. Das SYSTEM Konto (Lokales Systemkonto oder local System) hat uneingeschränkte Rechte auf dem Computer.  ... weiterlesen

Preview Bios-Version auslesen, BIOS Modus: UEFI oder Vorgängerversion

Bios-Version auslesen, BIOS Modus: UEFI oder Vorgängerversion

erstellt: 11.11.2020 von Bernhard

Die aktuelle BIOS-Version kann in Windows über die Eingabeaufforderung oder Systeminformation angezeigt werden: ... weiterlesen


Fragen / Kommentare


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

✍anonym
erstellt am 09.10.2019 07:10
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
erstellt am 12.04.2020 18:04
User: Nod15c 
Daten in Excel kopieren/erstellen mit Dateityp - Text (MS-DOS) speichern.
Dateiendungen einblenden im Explorer und .txt zu .cmd wandeln.


✍anonym
erstellt am 26.02.2020 16:02
User: Rainer 
Danke … 

✍anonym
erstellt am 08.01.2020 08:01
User: Roger 
ich muss via Commandozeile "C:\Ausführbare Tools\tool.exe" aufrufen aber wegen dem ü geht das nicht, wie macht man dass?

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

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

✍anonym
erstellt am 04.04.2019 09:04
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
erstellt am 04.04.2019 09:04
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
erstellt am 01.04.2019 14:04
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
erstellt am 26.12.2018 13:12
User: AL 
Super, hat mir geholfen!

✍anonym
erstellt am 24.06.2018 12:06
User: Mario Z. 
Einfach anfangs in Batch schreiben:

chcp 1252>nul 
	SET ue=ü
	SET ae=ä
	SET oe=ö
	SET Uue=Ü
	SET Aae=Ä
	SET Ooe=Ö
	SET ss=ß
chcp 850>nul

REM Der süße Bär
ECHO Der s%ue%%ss%e B%ae%r

✍anonym
erstellt am 19.06.2018 18:06
User: Norbert 
Danke
@Notepad: Codierung setzten hat unter win10 gereicht

Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Außerdem geben wir Informationen zu Ihrer Nutzung unserer Website an unsere Partner für soziale Medien, Werbung und Analysen weiter. Details anzeigen.