Seite 1 von 4

Robocopy und Umlaute

Verfasst: 30.03.2025, 17:56
von Karthagos
Hallo, ich nutze Robocopy für die regelmäßigen Sicherungen meiner Arbeitsdateien aber auch für die eine oder andere Sonderfunktion. So z.B. um Filmdateien aus meinem Archiv zur Weiterverarbeitung bzw. Reduzierung der Dateigröße in einen anderen Ordner zu kopieren.
Dazu stelle ich die robocopy-Befehle in Excel zusammen und kopiere sie in Notepad++.
Für robocopy gibt es alle möglichen Tipps für die Behandlung von Umlauten in den Pfad- und Dateinamen, so u. a. über Notepad++ die >Codierung >Weitere Codepages >Mitteleuropäisch >OEM 852 einzustellen, aber auch, der batch-Datei die Befehle chcp 1252, chcp 1252>nul, set ue=ü, set ae=ä, set oe=ö, set Uue=Ü, set Aae=Ä, set Ooe=Ö, set ss=ß, chcp 850>nul voranzustellen.
Das ist für mich leider ein Stochern im Nebel. Wenn ich z.B. aus Excel den Befehl
robocopy "U:\Bud Spencer & Terence Hill" V:\LaptopKopie "Nobody Ist der Grösste.mp4"
kopiere und in Notepad++ einfüge
also (vollständig)
  • @ECHO OFF
    robocopy "U:\Bud Spencer & Terence Hill" V:\LaptopKopie "Nobody Ist der Grösste.mp4"
    Pause
und dann die Codierung OEM 852 auswähle und die Datei speichere, werden die Umlaute falsch angezeigt und ich muss anschließend den Eintrag noch mal überschreiben.
Ist meine Vorgehensweise falsch?

Re: Robocopy und Umlaute

Verfasst: 30.03.2025, 20:32
von HAL 9000
Es dürfte helfen, zur Bearbeitung der Batch-Datei den Zeichensatz in notepad++ auf 852 einzustellen.
Du hast ja schon mit Excel den ersten Kandidaten, der einen abweichenden Zeichensatz benutzt.
Was kommt denn da überhaupt im Editor an?
Wenn dann noch Notepad++ mit Ansi oder UTF 8 arbeitet, kommen unerwartete Ergebnisse zustande.

In der Batchdatei kannst Du übrigens chcp 1252 setzen, das verträgt sich, wichtig ist nur dass die Datei selbst im Format OEM 852 gespeichert wird.

Re: Robocopy und Umlaute

Verfasst: 31.03.2025, 10:37
von Karthagos
Hallo HAL 9000, danke für Deine Antwort.
Ich kopiere den vorbereiteten robocopy-Befehl aus Excel (ist eine Formel dahinter) (Bild 1)
robocopy "U:\Bud Spencer & Terence Hill" V:\LaptopKopie "Nobody Ist der Grösste.mp4"
und füge ihn in Notepad++ ein (Bild 2)

Zunächst sieht es so aus, als wenn die Umlaute richtig angezeigt werden.
Dann ändere ich die Codierung auf >Weitere Codepages >Mitteleuropäisch >OEM 852 (Bild 3)

und speichere die Änderung gemäß Aufforderung. Dadurch werden die Umlaute falsch angezeigt (Bild 4)

Jetzt kopiere ich die Einträge erneut aus Excel und überschreibe den vorhandenen Eintrag (Bild 5)
damit die Umlaute wieder richtig angezeigt werden, speichere die Änderungen und schließe die Datei.

Wenn ich sie mit Notepad++ wieder öffne, ist die Darstellung der Umlaute wieder falsch (allerdings mit anderen Sonderzeichen) (Bild 6), obwohl die Datei doch m. E. in OEM 852 codiert ist?

Nachdem m. W. nur 5 Bilder in den Beitrag eingefügt werden dürfen, habe ich die Bildfolge zu einem zusammengefasst und beigefügt.
robocopy.jpg

Re: Robocopy und Umlaute

Verfasst: 31.03.2025, 12:06
von Blondi_2021
könntest ja mal hier kurz reinschauen ob es dir hilft



HP mit Fragen / Kommentare unten dazu
https://www.libe.net/Robocopy-Umlaute

Re: Robocopy und Umlaute

Verfasst: 31.03.2025, 15:53
von Karthagos
Hallo Blondi 2021, danke für den Hinweis, nach dem Video hatte ich ja die Codierung OEM 852 vorgenommen, aber irgendwie klappt es nicht richtig. Die nachfolgenden Kommentare in dem Beitrag sind leider auch etwas irritierend und haben mir zumindest nicht entscheidend weitergeholfen.

Re: Robocopy und Umlaute

Verfasst: 31.03.2025, 19:51
von Blondi_2021
schade das es nicht hingehauen hat :betruebt: . Habe aber mal weiter geschaut und dieses gefunden.
https://stackoverflow.com/questions/586 ... -and-chcp

Habs mal auf deutsch Übersetzen lassen was er gemacht evtl. hilfts dir ja weiter .

Versteckter Text:

Lösung, die nach allen möglichen Experimenten gefunden wurde (nicht zuletzt mit Inspiration durch den Kommentator JeffRSon):
Rücksicht

Da die Code-Seite, die standardmäßig auf dem System verwendet wird, Code-Seite 850 (Teil der "OEM"-Serie von Code-Seiten) ist, dachte ich, ich könnte es versuchen und meine .bat-Datei mit genau dieser Kodierung speichern.
Umsetzung

Da ich Notepad++ zum Schreiben verwende, habe ich die Option "Encode" von Notepad++ im Menü verwendet, d.h. Ich habe dort

[Menu] -> Encodierung -->Zeichensätze --> westeuropäische --> OEM 850

(Und natürlich habe ich auch den Befehl chcp 1252 aus der Charge entfernt.)

Ich habe nicht vergessen, diese Datei danach zu speichern.
Ergebnis

Überraschen oder nicht, das System akzeptiert jetzt meine Batch-Befehle und führt sie gut aus.
Hinweis für neue Bienen (wie mich)

Um herauszufinden, was die aktuelle (Standard-)Code-Seite Ihres Systems ist, geben Sie ein

chcp

in Ihre Eingabeaufforderung. Es sollte dann den aktuellen Wert zurückgeben, in meinem Fall: 850.

Re: Robocopy und Umlaute

Verfasst: 31.03.2025, 20:11
von Karthagos
Hallo Blondi 2021, vielen Dank für Deine Mühe.
Über die Notepad++ Codierung kann ich die OEM 850 nicht auswählen, nur die OEM 852.
Aber wenn ich über die Eingabeaufforderung chcp eingebe, wird OEM 850 angezeigt

Re: Robocopy und Umlaute

Verfasst: 31.03.2025, 21:03
von Blondi_2021
Habe mir mal Notepad++ runter geladen und nachgeschaut gibst ;)

Deine Zeile
Dann ändere ich die Codierung auf >Weitere Codepages >Mitteleuropäisch >OEM 852 (Bild 3)

und Seine
Encodierung -->Zeichensätze --> westeuropäische --> OEM 850

ist ein kleiner Unterschied :)
850 Multilingual (Lateinisch I) zu 852 Slawisch (Lateinisch II)
nach zu Lesen hier
https://learn.microsoft.com/de-de/windo ... ands/chcp

Re: Robocopy und Umlaute

Verfasst: 01.04.2025, 09:41
von Karthagos
Es bleibt irgendwie nebulös :?

Ich habe mal einen neuen Eintrag in Notepad++ gemacht, da zeigt er die Codierung UTF-8 an. (1)

Dann habe ich die Codierung OEM 850 ausgewählt (die Anzeige der Umlaute wurde unleserlich) (2),
gespeichert als test.bat und Datei geschlossen.

Datei in Notepad++ wieder geöffnet, Umlaute wieder korrekt und Codierung UTF-8 wird angezeigt (3
Notepad OEM 850.jpg

Re: Robocopy und Umlaute

Verfasst: 01.04.2025, 16:52
von HAL 9000
Das ist nicht nebulös, wenn die Quelle Ansi oder UTF-8 war und Du dann auf 852 oder 850 umstellst, dann passt der Zeichensatz eben nicht.
Solange die Voreinstellung auf UTF-8 bleibt, wirst Du diesen Effekt haben.
Die BatchDatei muss schon mit der Einstellung OEM 850 oder 852 geschrieben (oder geändert) werden.

Re: Robocopy und Umlaute

Verfasst: 01.04.2025, 17:05
von Holgi
möglicherweise habe ich das Problem noch nicht richtig begriffen und leider nutze ich Notepad++ nur in absoluten Ausnahmefällen.
Aber vlt. hilft es dir weiter:
ich benötige ebenfalls Umlaute in meinen Scripten, die allerdings mir dem alten Notepad von Windows erstellt werden.
deshhalb haben diese Scripte immer eine Zeile

Code: Alles auswählen

chcp 1252 >nul 
am Anfang und ich speichere sie als ANSI codiert ab. Damit gibt es hier keine Umlautprobleme. Vlt. kann man das auf Notepad++ übertragen?

Re: Robocopy und Umlaute

Verfasst: 01.04.2025, 18:39
von Karthagos
Hallo Holgi, vielen Dank für Deine Nachricht.
Ich experimentiere schon lange mit den Umlauten in batch-Dateien und vor allem Robocopy und habe schon so manchen Hinweis gefunden. Am meisten stört mich, dass ich die Syntax nicht richtig verstehe.
Habe auch schon folgendes in den robocopy-Befehlen vorangestellt (weil irgendwo im Netz gefunden):
chcp 1252
chcp 1252>nul
set ue=ü
set ae=ä
set oe=ö
set Uue=Ü
set Aae=Ä
set Ooe=Ö
set ss=ß
chcp 850>nul

Im 4ten Beitrag hatte Blondi 2021 den Link https://www.libe.net/Robocopy-Umlaute
erwähnt, den bzw. das Video darin hatte ich mir auch angeschaut. Da ist es sehr simpel beschrieben, hat aber bei mir nicht geklappt. Deshalb hatte ich mich ja aufgerafft und die Frage hier im Forum noch mal gestellt.
Die Codierung über Notepad++ ist anscheinend sehr tricky.

Re: Robocopy und Umlaute

Verfasst: 01.04.2025, 19:37
von Holgi
Hallo Günther,
also 2 Baustellen?! Robocopy Syntax und Umlaute?
Ich würde dann ja erst mal Robocopy so einrichten, dass es ohne Umlaute funktioniert. Damit wäre ausgeschlossen, dass Umlaute den Kopiervorgang behindern.
Mein Ansatz mit Notepad.exe und chcp 1252 war dafür gedacht, dass du mal schaust, ob es mit den Umlauten an Notepad++ liegt (oder nicht).
Wenn es bei dir dann mit Notepad.exe (wie bei mir) geklappt hätte, könnte man das Ergebnis/die Umsetzung auf Notepad++ übertragen (und dann später Robocopy integrieren).
Dann erst würde ich mit Robocopy weitermachen. Denn wenn schon das Script grundsätzlich nicht mit Umlauten umgehen kann > wie soll dann das mit Robocopy als Ganzes im Script funktionieren?
Noch ein Hinweis:
das mit (z.B)

Code: Alles auswählen

set ue=ü
benötige ich bei mir überhaupt nicht.

Re: Robocopy und Umlaute

Verfasst: 01.04.2025, 20:29
von Blondi_2021
Hab ja auch keine Ahnung von Notepad ++ :betruebt: .

Habs nun mal getestet nach diesem Video und dem Code


@ECHO OFF
robocopy "U:\Bud Spencer & Terence Hill" V:\LaptopKopie "Nobody Ist der Grösste.mp4"
Pause
sieht soweit ganz gut aus denke ich
Bild

Re: Robocopy und Umlaute

Verfasst: 01.04.2025, 21:04
von Karthagos
Hallo Holgi, danke für Deinen Lösungsansatz. So werde ich jetzt noch mal testen.
Die "set ue=ü Einträge usw. sollten nur verdeutlichen, was ich schon alles angestellt habe.

Hallo Blondi_2021, ebenfalls danke. Genau, die Anleitung nach dem Video scheint erst mal zu funktionieren.
Deswegen habe ich in meinem ersten Beitrag die Vorgehensweise bei mir noch mal aufgelistet.

... und bin irgendwie vom Ergebnis verwirrt :(