使用C#写一个使用命令行调用.exe程序,接受并判断返回值
时间: 2024-10-16 10:13:33 浏览: 21
C#调用cmd命令行设置命令 并获取返回的数据
5星 · 资源好评率100%
在C#中,你可以通过`Process`类来执行外部应用程序(如`.exe`文件),并处理其返回值。下面是一个简单的示例,展示如何使用命令行调用外部程序,并检查其退出状态码:
```csharp
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
// 要执行的.exe程序路径
string executablePath = "path_to_your_exe.exe";
// 创建一个新的进程实例
ProcessStartInfo psi = new ProcessStartInfo();
// 设置启动信息
psi.FileName = executablePath;
psi.UseShellExecute = false; // 如果需要控制执行过程,应禁用shell环境
psi.RedirectStandardOutput = true; // 将标准输出重定向到流
psi.RedirectStandardError = true; // 同样将错误输出重定向
// 执行进程
using (Process process = new Process())
{
process.StartInfo = psi;
process.Start();
// 等待进程完成,并获取返回值(退出代码)
int exitCode = process.ExitCode;
// 检查退出代码,如果成功则通常exitCode为0,其他值表示错误
if (process.HasExited && exitCode == 0)
Console.WriteLine("程序执行成功,退出码:{0}", exitCode);
else
{
Console.Error.WriteLine("程序执行失败,退出码:{0}", exitCode);
// 这里可以读取和处理标准输出和错误输出
Console.WriteLine("标准输出:{0}", process.StandardOutput.ReadToEnd());
Console.WriteLine("标准错误:{0}", process.StandardError.ReadToEnd());
}
}
}
}
```
在这个例子中,我们首先创建了一个`ProcessStartInfo`对象,然后设置要执行的程序路径以及是否重定向输入和输出。接着,我们启动进程并等待它结束。最后,我们检查`ExitCode`以确定程序是否正常完成。
阅读全文