【问题标题】:How to execute CMD commands by catching the error code and taking appropriate actions如何通过捕获错误代码并采取适当的措施来执行 CMD 命令
【发布时间】:2011-03-31 07:12:34
【问题描述】:

我想以编程方式执行命令提示符(CMD),然后执行一系列命令并检查命令返回成功还是失败。

我已经了解了如何执行批处理文件或一般命令,但我如何才能捕获错误并在同一窗口中继续执行其他命令。

喜欢,

磁盘突袭

创建

列表

选择

名字

扩展

细节

如果上述任何命令返回错误,我必须存储错误并继续其他操作。这样最后,我可以很容易地找出哪些命令成功通过,哪些失败了。

知道如何使用 C# 或 C++ 实现这一点吗?

【问题讨论】:

    标签: c# c++ windows cmd


    【解决方案1】:

    如果您只想要进程的退出代码,这应该会有所帮助:

    Process test = new Process();
    test.StartInfo = psi;
    test.EnableRaisingEvents = true;
    test.Exited += new EventHandler(test_Exited);
    
    ...    
    
    void test_Exited(object sender, EventArgs e)
    {
      int exitCode = ((Process)sender).ExitCode;
      switch (exitCode)
      {
         case 0:
             DoSomething();
             break;
         case 1:
             .......
      }
    

    使用 OutputDataReceived 事件,您可以异步读取流程的输出。 更多信息在这里:MSDN

    【讨论】:

      【解决方案2】:

      如果你需要做复杂的命令行操作,我建议你使用脚本语言或cli脚本来做命令行操作的逻辑,并从c++调用这个脚本。这种方法更容易改变,并且更容易决定你的 c++/c# 程序的输入是什么样的。然后,它可能就像调用脚本并读取退出值一样简单。

      要运行 cli 脚本,请使用 system command

      【讨论】:

        猜你喜欢
        • 2011-05-08
        • 1970-01-01
        • 1970-01-01
        • 2023-03-27
        • 2010-11-18
        • 1970-01-01
        • 1970-01-01
        • 2018-11-22
        相关资源
        最近更新 更多