3

我正在从 c# 打开命令提示符

 Process.Start("cmd");

当它打开时,我需要自动编写 ipconfig 以便进程打开并找到工作站的 ip,我应该怎么做?

4

4 回答 4

6

编辑

Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "ipconfig.exe";
p.Start();
p.WaitForExit();
string output = p.StandardOutput.ReadToEnd();
return output;

或者

编辑

  Process pr = new Process();
  pr.StartInfo.FileName = "cmd.exe";
  pr.StartInfo.Arguments = "/k ipconfig"; 
  pr.Start();

检查:如何在 C# 中执行命令?

System.Diagnostics.Process process = new System.Diagnostics.Process(); 
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
 startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
 startInfo.FileName = "cmd.exe";
 startInfo.Arguments = "ipconfig";
 process.StartInfo = startInfo;
 process.Start(); 

或者

于 2012-10-08T10:17:00.033 回答
3

试试这个

 string strCmdText; 
 strCmdText= "ipconfig";
 System.Diagnostics.Process.Start("CMD.exe",strCmdText);
于 2012-10-08T10:16:39.570 回答
3

用这个

System.Diagnostics.Process.Start("cmd", "/K ipconfig");

This /K parameter will start cmd with an ipconfig command and will show it's output on the console too. To know more parameters which could be passed to a cmd Go here

于 2012-10-08T10:20:24.527 回答
1

在运行外部进程时,有一些特定的方法可以重定向标准输入、标准输出和错误消息,例如在您的情况下检查:ProcessStartInfo.RedirectStandardInput Property

那么这里还有很多例子:Sending input/getting output from a console application (C#/WinForms)

于 2012-10-08T10:16:43.390 回答