2009-05-07 6 views
3

Je veux écrire une simple application console C# pour changer le répertoire courant de la ligne de commande en un répertoire où l'application fonctionne. En regardant à travers MSDN System.IO.Directory.SetCurrentDirectory semble idéal pour ce que je voyais dans les remarques que:CD de ligne de commande (changement de répertoire) en C#?

« Lorsque l'application se termine, le répertoire de travail est restauré à son emplacement d'origine (le répertoire où le processus a été lancé). '

Et bien sûr, lorsque j'ai essayé cela dans une application de test, cela n'a pas fonctionné. Est-ce que quelqu'un a une idée de comment implémenter une variante de CD en C#?

Répondre

3

Vous pouvez écrire un wrapper script batch:

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

Je n'ai pas testé, mais il devrait vous rendre où vous essayez d'aller.

+0

Cela a fonctionné un régal! – Danielb

1

Je doute que ce soit possible, car vous ne faites que définir le répertoire de travail actuel de votre programme au lieu du processus cmd qui l'a engendré.

Questions connexes