Schade, dann wird es mit Umlauten wohl nichts mehr.
Na gut, Hauptsachte der Rest läuft jetzt erstmal.
Scheinbar hat cygpath ein Problemchen.
Zumindestens die Fehlermeldung stimmt jetzt (da steht nun richtig "Ä"),
nur übersetzt wird der Pfad falsch, aber er wird übersetzt, denn die \ werden zu /.
aus
S:\Test\Täst
wird
S:/Testo/Täst
anstatt
/s/Test/Täst
Die armen Russen, Chinesen und Franzosen muss das doch ankotzen.
Minimalbeispiel:
a.cmd
Code:
chcp 1252
cd /d "%~dp0"
md "Täst"
bash a.sh "%~dp0Täst"
pause
a.sh
Code:
#!/bin/bash
export LANG="de_DE.UTF-8"
export LC_ALL="de_DE.UTF-8"
dir=$1
echo "IN: $dir"
dir="$(cygpath -u "$dir")"
echo "OUT: $dir"
cd "$dir"
CodePage 1252 =
ANSI statt OEM, damit das Ä nicht OEM-codiert gespeichert werden muß, aber im Bash kommt es scheinbar richtig als UTF-8 an, was Batch/CMD hier als
Unicode ans BASH übergeben hat.