Idealerweise ist es (imho) immer eine gute Idee Umlaute in Skripten und Pfaden zu vermeiden, manchmal kommt man dennoch schlichtweg nicht drum herum.
So in diesem Fall, das der Benutzername bzw. in Folge der Profilpfad einen Umlaut enthält. Die Situation ist geerbt, soll heißen: Stammt von vorangegangenen IT-Betreuer.
Damit nun dennoch in klassischen Batch-Skripten Umlaute verwendet werden können, kann man zu einem Trick greifen:
- Zunächst die Codepage ändern,
- in einer Variable den gewünschten Umlaut eintragen,
- die Codepage zurücksetzen und
- den eigentlichen Befehl einsetzen.
Ein Beispiel
Am Beispiel von einem kleinen Skript bei dem Dokumente mittels Robocopy migriert werden sollen sieht das wie folgt aus:
@echo off title Migration chcp 1252 set source=\\pc06\c$\Users\UserÖ set destination=C:\Users\UserÖ set folder=Documents chcp 850 robocopy "%source%\%folder%" "%destination%\%folder%" /mir /copy:dat /xj /np /r:0 /w:0 /tee /log:"rc01-%folder%.log" pause
Wichtig: Das Ganze funktioniert nur, wenn die Datei in “ANSI”-Codierung gespeichert ist! In Notepad geht dies mit “Datei – Speichern unter – Codierung”.
Quellen:
heise – ct – Praxis & Tipps – Tipps & Tricks – Keine Umlaute auf Kommandozeile
LiBe.net – Problem gelöst: cmd, BATch Umlaute – Windows robocopy
Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.
Ich habe es mir früher einfach gemacht und einfach die Umlaute in der AD abgeändert 🙂 wenn es nötig war.