2015-07-01 61 views
0

我目前有一段代碼可以使用管理員權限打開cmd提示符。我似乎無法處理的是發送一些命令來執行。目前,我有以下代碼:將多個參數發送到cmd C#

var proc = new ProcessStartInfo(); 
proc.UseShellExecute = true; 
proc.WorkingDirectory = @"C:\Windows\System32"; 
proc.FileName = @"C:\Windows\System32\cmd.exe"; 
proc.Verb = "runas"; 

try 
{ 
     Process.Start(proc); 
     Console.WriteLine("Successfully elevated!"); 
} 
catch (Exception) 
{ 
     Console.WriteLine("Failed to elevate."); 
} 

我怎麼會去添加一些命令,例如,如果我想改變目錄,然後運行exe文件?我相信這是我錯過的非常簡單的事情。我試圖給arguements像這樣:

proc.Arguments = "cd \\temp"; 
+0

如果你還沒有看過已經在https://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.arguments(v=vs.110).aspx可能有一些信息給你 – sab669

+0

可能的重複[發送命令到cmd提示在C#](http://stackoverflow.com/questions/11767654/sending-commands-to-cmd-prompt-in-c-sharp) –

回答

0

您可以從使用過程中給定的文件路徑調用一個.exe文件。

像這樣的答案:Can you execute another EXE file from within a C# console application?

編輯: 如果你想程序從與溫度在年底運行的目錄,你可以這樣做:

string filepath = Directory.GetCurrentDirectory() + @"\temp\programToRun.exe"; 
+1

'Directory.G etCurrentDirectory()'不會返回程序運行的目錄。它只有在沒有調用'Directory.SetCurrentDirectory()'的情況下才會返回。 'GetCurrentDirectory'獲取當前* working *目錄,而不是應用程序目錄。 –

+0

我真的只是需要運行這些命令2: CD \ cports-64 然後 cports.exe /關* * * 1869年 – user2177781