2017-01-30 33 views
1

我想創建小應用程序來管理我的項目,應該工作,以便從項目列表中選擇一個項目後,控制檯將當前目錄更改爲項目並退出程序,讓您在corect目錄中進行控制檯,然後您可以運行,比如代碼或http服務器。我可以使用c#console app更改curent目錄嗎?

我tryed
Environment.CurrentDirectory = direcory
Directory.SetCurrentDirectory(directory)
既不是它的工作對我來說:/

+5

我不認爲你可以這樣做,一旦c#應用程序終止,你不能保持它打開。您可以從c#打開一個命令提示符並將其傳遞給更改目錄命令。 http://stackoverflow.com/questions/1469764/run-command-prompt-commands –

+0

你的控制檯應用程序和任何你想要運行的將在不同的進程中執行,所以會有不同的「當前目錄」。一個不會影響另一個。我想, – series0ne

+0

[批處理](https://en.wikibooks.org/wiki/Windows_Batch_Scripting#CD)會更適合。 – Fildor

回答

0

我想這應該做的伎倆。此外,您還可以在它的代碼中執行一些命令:

var startInfo = new ProcessStartInfo 
{ 
    WorkingDirectory = @"SomeDirectory", 
    FileName = "cmd.exe", 
    // Arguments = "start http-server" 
}; 
var process = new Process {StartInfo = startInfo}; 
process.Start(); 
+0

我可以看到你的觀點,但它打開新的cmd,所以它不是我想要的:/ 但鋼鐵thants:D –

0

如果我正確理解你的問題,本質上你想寫執行類似的功能在命令提示符環境CD命令C#程序。

不幸的是,你不能從C#程序做到這一點,因爲程序是在它自己的獨立AppDomain中啓動的,當你的程序完成時,它被扔掉(和你的新工作目錄一起)。最重要的是,您不能通過啓動過程(命令提示符)影響AppDomain的創建。

相關問題