Ich verwende seit Jahren das Programm ROBOCOPY zum Abgleichen von Festplatteninhalten. Es gibt einen Hauptdatenbestand, bestehend aus Bildern, Dokumenten, Audio- und Videodateien, der von Zeit zu Zeit auf portable Festplatten kopiert wird. Das Programm ROBOCOPY sorgt dafür, dass die Struktur tatsächlich identisch ist. Es werden also nicht nur neue Dateien kopiert sondern nicht mehr existente Dateien vom Zieldatenträger entfernt. Identische Dateien werden nicht kopiert, sodass eine solche Replikation sehr rasch vor sich geht, weil nur veränderte Datenbestände bewegt werden.
Bisher habe ich immer ganze Laufwerke oder auch einzelne Ordner repliziert und das Kommando dazu war beispielsweise:
ROBOCOPY S:\ F:\ *.* /MIR /COPYALL /R:0 /W:3 ROBOCOPY S:\bildarchiv F:\bildarchiv *.* /MIR /COPYALL /R:0 /W:3
Diese Replizierkommandos kommen in eine .bat-Datei und der kurze Name dieser .bat-Datei dient zum Aufruf der Replikation.
Mein neuer Aufgabenbereich ist die Digitalisierung von Büchern und den dazugehörigen Ordner habe ich „bücher“ genannt. Da ich die Bücher hauptsächlich am Tablet mitnehmen, habe ich bisher diese Bücher auf eine SD-Karte kopiert und diese in das Tablet eingesteckt. Da aber der Umfang nun schon sehr groß ist, habe ich das Tablet über die Heimnetzgruppe in mein Netzwerk eingebunden und wollte mit ROBOCOPY einen zeitsparenden Replikationsvorgang starten, ohne dabei die SD-Karte aus dem Tablet herausziehen zu müssen.
Ich habe daher in dem Kommando der zweiten Zeile den Namen „bildarchiv“ durch „bücher“ ersetzt. So schaut das Kommando aus:
ROBOCOPY S:\OneDrive\Dokumente\Bücher \\venue8\d *.* /MIR /COPYALL /R:0 /W:3
Aber das funktionierte nicht, denn der Umlaut ist Windows-kodiert und die Eingabeaufforderung erfordert den DOS-Zeichensatz. Es kommt daher beim Aufruf zu einem Zeichensatzfehler, der Ordner wird nicht gefunden. Kein Problem, editieren wir halt die Bat-Datei mit einem DOS-Editor. Ja, aber wo ist EDIT geblieben? Diese früheren DOS-Tools sind still und heimlich verschwunden.
Was tun?
Natürlich könnte man den Ordner auf „buecher“ umbenennen, aber das wäre eine Kapitulation vor einem Buchstaben. Ein Blick in Word zeigt, dass man auch bei „Speichern unter“ -> *.txt keine Möglichkeit mehr hat, den Zeichensatz anzupassen.
Das grundlegende Problem ist, dass in der DOS-Box ein Zeichensatz mit 8 Bit angewendet wird aber in Windows ein 16 Bit Zeichensatz. Solange man Zeichen aus dem Zeichenvorrat der ersten 128 Zeichen benutzt, gibt es bei der Abbildung einer Windows-Text-Datei mit 16 Bit Zeichensatz in eine DOS-Text-Date mit einem 8-Bit-Zeichensatz kein Problem. Kommt aber ein Umlaut vor, steht dieser an einer falschen Stelle im Koderaum.
Das Problem fällt nicht auf, solange man das Kommando in der DOS-Konsole (Eingabeaufforderung) über die Tastatur eingibt, denn in diesem Fall werden die Umlaute gemäß dem Zeichensatz korrekt eingegeben. Ein ‚ü‘ ist das Zeichen 81h. Wird dagegen das Kommando mit einem Windows-Editor in eine BAT-Datei eingegeben, entsteht aus dem ‚ü‘ das Zeichen fch.
Ich erinnerte mich an stundenlanges Experimentieren mit Zeichensätzen in der Ausgabe PCNEWS-141. Im Zuge der Arbeiten mit dieser Ausgabe ist ein Zeichensatzkonvertierungsprogramm entstanden. Es kann im experimentellen Webportal http://wapps.clubcomputer.at/CODE/ aufgerufen werden. Die Konvertierung schaut dann so aus:
An den grün markierten Stellen steht das Zeichen ‚ü‘ aus „Bücher“.
Die Eingabeaufforderung in Windows enthält kein Tool, mit dem man dort einen Text im richtigen Zeichensatz editieren könnte. Vielleicht habe ich aber nur nicht den richtigen Weg gefunden.
Franz war pensionierter HTL Lehrer (TGM), Präsident von ClubComputer, Herausgeber der Clubzeitung PCNEWS und betreute unser Clubtelefon und Internet Support. Er war leidenschaftlicher Rapid Wien Fan. Er ist leider Anfang Jänner 2024 nach langer schwerer Krankheit verstorben.
Vielleicht hilft Dir Notepad++ weiter.
Ich verwende diesen praktischen Editor ganz gerne zum Programmieren, weil er Syntax-Highlighting für allerlei Programmiersprachen hat.
Außerdem schätze ich die Möglichkeit, die Zeichenkodierung einstellen zu können – unter anderem auch auf „Mitteleuropäisch – OEM852“ (Menüpunkt „Kodierung“ – „Weitere“ – „Mitteleuropäisch“ – „OEM852“).
Damit habe ich Dein Problem nachgestellt (zur Überprüfung habe ich noch eine virtuelle Maschine mit Windows 2000 und dem guten alten EDIT) und die Umlaute wurden in der Batchdatei „DOS-gemäß“ gespeichert.
LG
Richard
Hallo Richard! Ich verwende den Notepad++ auch, bin aber nicht drauf gekommen, wo ich den Zeichensatz richtig einstelle. Danke für den Hinweis!
[Die Schrift grau auf weiß beim Schreiben dieser Antwort ist schon eine ziemlich „künstlerische“ Erfindung. Ausprobiert dürfte das niemand vorher haben.]
hmmmm..hast du es schon mal mit dem editor gvim versucht…?
ein bisschen gewöhnungsbedürftig
:set encoding=utf-8
geht dortn…schaus dir mal an….
gruss günter