Umlaute in Batch Scripten korrekt darstellen

Umlaute in Batch-Script Ausgaben sind ja ein bekanntes Problem. Statt ä ö ü oder auch ß erscheinen leider nur sehr kryptische Symbole, dabei kann das aktuelle DOS doch umlaute darstellen.

Aber wie bekommen wir eine makellose Ausgabe am besten realisiert?

Ganz einfach, ihr braucht ein Texteditor, der MS DOS schreiben kann.
Zum Beispiel kann Notepad++ ein Dokument im MS DOS Stil bearbeiten. Dazu könnt ihr einfach die Bearbeitungssprache unter Sprachen -> M -> MS DOS Stil einstellen.
Das Script wird unter Umständen neu geöffnet, die Syntaxgestaltung verschwindet und alle Umlaute (mit dem ß) werden in kryptische Zeichen umgewandelt. Nun könnt ihr alle diese seltsamen Symbole durch die gewollten Umlaute ersetzen.

In der Ausgabe werden diese dann auch endlich normal angezeigt.

Ihr könnt dann in Notepad++ die Sprache wieder auf Batch zurückstellen. Und – bei mir war es zumindest so – danach sollten sogar in dieser Spracheinstellung eingetippte Umlaute korrekt angezeigt werden. Testet es aus.

Dieses Howto als Video:

Zufälliger Artikel:  Microsoft Exchange Online: Änderungen an mehreren/allen Nutzern über PowerShell anwenden

20 Kommentare

  1. Alternativ kann man auch einfach den „DOS“ Texteditor benutzen, ich glaube der ist noch bis Windows XP SP3 dabei.

    cmd –> edit

  2. Der ist sogar noch bis Windows 7 dabei. Start -> Ausführen -> „edit“ (wichtig: nicht in die Windows 7 Suchleiste „edit“ eingeben, da kommt der Editor/Notepad)
    Allerdings ging das bei mir nicht. Bei dem MS DOS Edit auf meinem Rechner ist die englische Tastatur aktiviert und ich weiß nicht, wie ich da die deutsche Tastatur aktivieren kann (im Windows selbst noch auf deutsch). Daher krieg ich mit dem edit da auch keine Umlaute hin.
    Ich glaub in XP ging das noch, jo.

  3. Naja, wer arbeitet denn wirklich mit edit.com, wenn er Notepad++ haben kann.

    Ich empfinde es auch als äußerst ärgerlich, dass die Umlaute mit den meisten Windows-Editoren nicht vernünftig dargestellt werden können. Der Dos-Style-Mode ist für mich keine echte Alternative, da, wie im Artikel beschrieben, die Syntaxgestaltung deaktiviert wird.

    Eine Alternative ist, die Erweiterung ConvertExt zu installieren, eben für diesen Notepad++, ich glaube aber, dass es den nur für die ANSI-Version gibt.

    Ich habe ein kleines Freewaretool, mit dem man so ziemlich alle Kodierungen, eben auch die alte DOS-Kodierung, mit so ziemlich jedem Editor aufmachen kann. Dazu wird die Datei temporär umkodiert, beispielsweise in UTF-8, mit dem Editor seiner Wahl editiert, und nach dem Speichern automatisch zurückgewandelt. Dadurch merkt Notepad++ gar nicht, dass es sich um etwas handelt, mit dem es nicht so gut klar kommt, und ich behalte meine Syntaxdarstellung.

  4. Mir ist aufgefallen, dass nach dem Umstellen auf den „MS DOS Mode“ auch wieder die Sprache Batch gewählt werden kann. Die Umlaute bleiben erhalten. Jetzt ist Notepad++ ohne Erweiterung für mich wieder die Standardlösung für die Batch-Bearbeitung.

  5. @Ren, habe das auch beobachtet, aber steht ja im Artikel.
    Siehe meinem letzten Absatz:

    Ihr könnt dann in Notepad++ die Sprache wieder auf Batch zurückstellen. Und – bei mir war es zumindest so – danach sollten sogar in dieser Spracheinstellung eingetippte Umlaute korrekt angezeigt werden. Testet es aus.

  6. DANKE DANKE DANKE!!! Dieser kleine Artikel hat mir sehr geholfen .-) Ich arbeite mit N++ und hab mich auch schon mit diesen Umlauten gequält. Jetzt weiss ich endlich wie es geht.

  7. Ich verstehe es nicht … bei mir funktioniert diese Umwandlung leider nicht …
    Notepad++ gestartet, Umlaute eingegeben, Batch-Sprache eingestellt – nichts tut sich …

  8. Hast du das Tutorial komplett gelesen und die Schritte so befolgt? Die erste Umstellung muss zu „MS-DOS Stil“ erfolgen, dann die fehlerhaften Umlaute (falls welche vorhanden) ersetzen und wieder zurück auf „Batch“ stellen. Dann sind die Umlaute korrekt und zukünftige Umlaute ebenfalls.
    Ich habe das gerade selber nochmal nachvollzogen, funktioniert alles.
    Aber für meine Lesen mache ich doch alles, hier ein Video meines Vorgehens 😉
    http://youtu.be/uro4ssPBv3E

  9. Hallo und vielen herzlichen Dank! 🙂 Tätige Hilfe im Web ist immer wieder eine schöne Überraschung! Der youtube-Film hats gebracht. Ich hatte nicht gespeichert.

    Was trotzdem richtig schade ist, daß ich damit das Copyrightzeichen nicht darstellen kann (ich habe es aus Word kopiert, es wird in der Batch nur als c dargestellt):

    @echo off
    echo test für äußerst nebulöse Zeichen und Copyright © ok
    echo äußerst üble blöde umlaute mit Copyright © ok
    pause

  10. Das Thema Copyright war spannend muss ich zugeben. Copyright UND Umlaute in einer gemeinsamen Batch ausgabe hat mich gut 2 Stunden Recherche und Tests gekostet.
    Aber hier kannst du jetzt nachlesen, wie es geht.

  11. Dieser Tipp zu den Umlauten in einer Batch ist der beste, den ich in stundenlangem googlen gefunden habe.
    Auf diese Weise werden in meinem Batches jetzt Umlaute und ß angezeigt.
    Danke!

  12. Und was machen, wenn die Umlaute in der Ausgabe von einem Programm enthalten sind? Ich kann den Programmcode nicht öffnen und die Texte verändern, damit die richtig dargestellt werden.

  13. Was für ein Programm meinst du? Eins, dass du selber programmiert hast? Batch oder was anderes?
    Bei fremden Programmen kannst du natürlich gar nichts machen. Wenn dort Inhalte falsch angezeigt werden, haben die Entwickler wohl nicht ordentlich gearbeitet und du musst damit leben oder zu Alternativen greifen.
    LG

  14. Wenn man eine **Batch-Datei** in Notepad++ lädt, zeigt NP++ sie, egal wie sie zuvor gespeichert wurde, als ANSI-Datei an, was dazu führt, dass die Sonderzeichen falsch wiedergegeben werden – weder in NP++ noch später bei der Ausführung.
    Um die Datei korrekt abzuspeichern und für die richtige Darstellung bei der Ausführung zu sorgen, muss man folglich **bei jeder Bearbeitung erneut die Kodierung ändern**:
    Kodierung – Weitere … – Westeuropäisch – OEM 850.
    Die Statuszeile zeigt dann „OEM 850“ an, und so speichert NP++ die Datei auch ab.
    Nun ist die ewige Klickerei für die Kodierung natürlich furchtbar nervig. So geht es viel einfacher und flotter:
    Man stelle im NP++-Menü Einstellungen – Tastatur – Main menu, Zeile 219 („OEM 850“) einen geeigneten **Shortcut ** ein, z.B. Alt+8. (Wenn der Shortcut bereits anderweitig vergeben ist – wie im Fall Alt+8 -, gibt es eine Meldung im Kästchen darunter. Ich habe die andere Zuweisung für Alt+8 dann eben entfernt, weil ich die nicht brauche.)
    Jetzt öffnet man die Datei, drückt Alt+8 – und los geht die Bearbeitung.
    (Die Sprach-Einstellung fürs Syntax-Highlighting ist natürlich „Batch“, und die bleibt nach dem ersten Festlegen beim späteren neuen Öffnen der Datei erhalten.)

  15. Warum das Leben Einfach machen, wenns auch SCHWÄR geht?!

    Menü / Einstellung / Tastatur aufmachen, dann im „Main menü“ Zeile 219 suchen und einen geeigneten Shortcut für („OEM 850“) einfügen, z.B. Alt+8. ACHTUNG: Unter Zeile 178 das Shortcut ausschalten, sonst kollidiert es.

    Dann die umlaute.bat im NP++ laden, Alt + 8 drücken und … taadaaa! El Proto Senhor Einstein!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.