Sonderzeichen und Umlaute in Batchdateien

Sonderzeichen und Umlaute in Batchdateien

Einige Sonderzeichen und vor allem Umlaute bereiten in Batchdateien Probleme, da diese im falschen Format ausgegeben werden und somit die Batchdatei unbrauchbar wird. Da in einigen Fällen die Verwendung von Umlauten nicht vermieden werden kann (z.B. Profilordner), möchte ich hier kurz zeigen, wie Umlaute und Sonderzeichen in Batchdateien verwendent werden können.

Ausgangssituation

Eine Batchdatei, welche in der Verarbeitung Umlaute enthält:

Batchdatei

Die Ausführung dieser Batchdatei ergibt folgende Ausgabe:

Ausgabe der Batchdatei

Die Ursache hierfür ist, dass die Batchdatei im UTF-8 Format (Zeichensatz) gespeichert ist und die Ausführung im DOS-Latin-1 Format (Zeichensatz) erfolgt. Um dieses Problem zu beheben, muss lediglich die Batchdatei im gleichen Format (Zeichensatz) gespeichert sein, wie die Ausführung erfolgt.

Vorgehen

Zunächst müssen wir die Codepage/Zeichentabelle auf 1252 (ANSI) umstellen.
Ohne der Angabe einer Codepage mit Hilfe des Befehles “chcp” wird die Standard Codepage 850 (DOS-Latin-1) verwendet. Die Angabe der Codepage ist nur einmalig in der Batchdatei vorzunehmen, dies am Besten am Anfang, da diese für alle weiteren Befehle ab diesen Zeitpunkt aktiv ist. Der Befehl hierfür lautet: “chcp 1252

Batchdatei mit Codepage

Die Anpassung der Codepage allein genügt nicht, die Ausführung der Batchdatei ergibt nun folgende Ausgabe:

Ausgabe Batchdatei mit Codepage

Zusätzlich ist es notwendig, dass die Batchdatei im ANSI Format gespeichert wird. Dies erfolgt im “Speichern unter” Dialog in Notepad im Bereich “Codierung:”. Hier ist von UTF-8 auf ANSI zu wechseln. Anschließend kann auf Speichern geklickt werden.

Batchdatei Codepage1
Batchdatei Codepage2

Die Aktuelle Codierung wird in Notepad auch im unteren Bereich jeweils angezeigt.

Batchdatei Codierung anzeigen

Die Ausführung dieser Batchdatei ergibt nun unser gewünschtes Ergebnis.

Ausgabe der Batchdatei erfolgreich

Da hier beide Zeichensätze übereinstimmen. Zum einen ist die Batchdatei im ANSI Format (Zeichensatz) gespeichert und zum anderen wird mit Hilfe von chcp 1252 ebenfalls der ANSI Zeichensatz zur Ausführung der Batchdatei genutzt.


Wenn ich Dir weiterhelfen konnte, würde ich mich sehr freuen, wenn du eine Spende via Paypal hier lassen könntest, oder mir einen Kaffee über ko-fi.com ausgeben würdest.Dir weiterhelfen konnte, würde ich mich sehr freuen, wenn du mir einen Kaffee ausgeben würdest.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.