2009-05-07 13 views
3

Ich möchte eine einfache C# -Konsolenanwendung schreiben, um das aktuelle Verzeichnis der Befehlszeile in ein Verzeichnis zu ändern, das die Anwendung ausführt. Beim Blick durch MSDN System.IO.Directory.SetCurrentDirectory sieht ideal für diese, bis ich in den Ausführungen sah, dass:Befehlszeilen-CD (Change Directory) Variante in C#?

‚Wenn die Anwendung beendet wird, das Arbeitsverzeichnis in seinen ursprünglichen Speicherort gestellt wird (das Verzeichnis, in den der Prozess gestartet wurde). "

Und sicher genug, als ich das in einer Testanwendung versuchte, hat es nicht funktioniert. Hat jemand eine Idee, wie man eine CD-Variante in C# implementiert?

Antwort

3

Sie können einen Wrapper Batch-Skript schreiben:

@ECHO OFF 
FOR /F "tokens=*" %%i in ('someapp.exe') do SET TOOLOUTPUT=%%i 
CD %TOOLOUTPUT% 

Ich habe nicht getestet, aber es sollten Sie, wo Sie gehen möchten.

+0

Das hat Spaß gemacht! – Danielb

1

Ich bezweifle, dass dies möglich ist, da Sie nur das aktuelle Arbeitsverzeichnis für Ihr Programm festlegen, anstatt den CMD-Prozess, der es hervorgebracht hat.