Aaalso, ich hätte eine Frage, und zwar nutze ich für ein paar Dinge auch auf Windows die Shell, also die cmd.exe mit clink Upgrade für GNU readline() Support.
Wie dem auch sei, ich hab auf einem meiner Dateisysteme Ordner die wide chars verwenden, und da der Zeichensatz von NTFS das Urgestein "UCS2-le" sein sollte müßte das im Endeffekt fast das gleiche sein wie UTF-16. Inkl. Anzeige der [
Surrogates and Supplementary Characters], die sind bei mir aktiviert.
Jetzt will ich darauf GNU Tools nutzen wie z.b. GNU find oder auch diff. Sobald ich mich aber in einem Ordner befinde, in dem sich derart benannte Subordner oder Dateien befinden meinen diff oder auch find, der aktuelle (übergeordnete) Order würde nicht existieren.
Also nehmen wir an wir haben E:\Data\
Und darin gibt es dann z.B. sowas:
E:\Data\☆☆☆☆\
E:\Data\♪♪♪♪♪♪\
E:\Data\★★★★\
E:\Data\魔法少魔\
Im Windows Explorer funzt das ja auch alles.
Nur auf der Shell hauts es zamm, und dann isses dann auch egal ob ich statt der cmd.exe die PowerShell nutze, wenn ich z.b. folgendes Kommando absetze (find heißt bei mir "gfind.exe" um nicht mit Windows' eigenem find zu kollidieren):
gfind E:\Data\ -iname "*"Dann kommt sowas zurück:
gfind: E:\Data\: No such file or directoryMicrosoft-eigene Konsolentools wie z.B. robocopy funktionieren aber mit dem Klump.
Das kann ja wohl nur irgendein Zeichensatzkonversionsproblem sein? Jetzt wollte ich fragen ob irgendwer weiß wie man das hinbekommt? Was ich noch nicht probiert habe ist es mir eine komplette Bash herzurichten auf Windows, lieber wär mir es würde mit den nativen Shells gehen.
chcp 65000, chcp 65001, chcp 10000 und chcp 10001 (div. Unicode Charsets, UTF-7, 8, 16 usw.) haben auch nichts gebracht, der Zeichensatz der cmd.exe selbst scheint irgendwie keinen Einfluß zu haben?!
Sofern nicht sowieso der Zeichensatz des NTFS Dateisystems mir schon eine reinwürgt. kA wie die Tools da tun.
Ideen?!
Ajo, "installier ein Linux" ist kein gewünschter Lösungsansatz, auch wenn's letzten Endes sicher schlauer wär auf was unixoides zu setzen, aber für sowas hab ich jetzt keine Zeit.