2015-07-01 39 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