Hallo!
Ich hab die cmd.exe als Prozess gestartet und alle Standardströme umgeleitet.
Der Projektordner heisst (absichtlich mit Umlaut) "Täst"
Alles was über StandardOutput daherkommt lass ich mir in einer mehrzeiligen Textbox anzeigen.
Nach dem Start des cmd-Prozesses steht dort:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.
C:\Users\Admin\documents\visual studio 2010\Projects\T„st\T„st\bin\Debug>
Die Umlaute werden also falsch eingelesen.
Über cmd.StandardInput.WriteLine sende ich jetzt ein "cd\". Das funktioniert.
Wenn ich jetzt wieder in den Ordner mit Umlauten wechseln will mit
bekomme ich folgendes über StandardOutput:
C:\>cd "C:\Users\Admin\documents\visual studio 2010\Projects\Täst\Täst\bin\Debug"
ABER: Über StandardError bekomme ich "Das System kann den angegebenen Pfad nicht finden."
Das Encoding für StandardOutput lässt sich ja ändern mit
Damit wird dann alles aus StandardOut auch richtig wiedergegeben:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.
C:\Users\Admin\documents\visual studio 2010\Projects\Täst\Täst\bin\Debug>
ABER: Wie ändere ich das Encoding für StandardInput? StartInfo.StandardInputEncoding gibt es ja (aus mir unersichtlichen Gründen) nicht.
Ich hab die cmd.exe als Prozess gestartet und alle Standardströme umgeleitet.
Der Projektordner heisst (absichtlich mit Umlaut) "Täst"
Alles was über StandardOutput daherkommt lass ich mir in einer mehrzeiligen Textbox anzeigen.
Nach dem Start des cmd-Prozesses steht dort:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.
C:\Users\Admin\documents\visual studio 2010\Projects\T„st\T„st\bin\Debug>
Die Umlaute werden also falsch eingelesen.
Über cmd.StandardInput.WriteLine sende ich jetzt ein "cd\". Das funktioniert.
Wenn ich jetzt wieder in den Ordner mit Umlauten wechseln will mit
bekomme ich folgendes über StandardOutput:
C:\>cd "C:\Users\Admin\documents\visual studio 2010\Projects\Täst\Täst\bin\Debug"
ABER: Über StandardError bekomme ich "Das System kann den angegebenen Pfad nicht finden."
Das Encoding für StandardOutput lässt sich ja ändern mit
Damit wird dann alles aus StandardOut auch richtig wiedergegeben:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.
C:\Users\Admin\documents\visual studio 2010\Projects\Täst\Täst\bin\Debug>
ABER: Wie ändere ich das Encoding für StandardInput? StartInfo.StandardInputEncoding gibt es ja (aus mir unersichtlichen Gründen) nicht.