首頁 > 後端開發 > C++ > 如何解決在 C# 中執行批次檔時出現「ExitCode: 1」錯誤?

如何解決在 C# 中執行批次檔時出現「ExitCode: 1」錯誤?

Patricia Arquette
發布: 2025-01-27 04:16:12
原創
618 人瀏覽過

How to Troubleshoot

C# 中執行批次檔及故障排除

在 C# 中,可以使用 Process 類別執行批次檔。然而,執行過程中可能會遇到錯誤。

常見問題:

例如,錯誤訊息 "ExitCode: 1 (Catch all for general errors)" 表示批次檔執行過程中出現了一個通用錯誤。

解:

為了診斷此錯誤,一種方法是重定向並檢查執行的批次檔案的輸出和錯誤流。這有助於深入了解錯誤原因。以下程式碼實現了此技術:

<code class="language-csharp">public static void ExecuteCommand(string command)
{
    int exitCode;
    ProcessStartInfo processInfo;
    Process process;

    processInfo = new ProcessStartInfo("cmd.exe", "/c " + command);
    processInfo.CreateNoWindow = true;
    processInfo.UseShellExecute = false;

    // 重定向输出和错误流
    processInfo.RedirectStandardError = true;
    processInfo.RedirectStandardOutput = true;

    process = Process.Start(processInfo);
    process.WaitForExit();

    string output = process.StandardOutput.ReadToEnd();
    string error = process.StandardError.ReadToEnd();

    exitCode = process.ExitCode;

    Console.WriteLine("输出>>" + (String.IsNullOrEmpty(output) ? "(无)" : output));
    Console.WriteLine("错误>>" + (String.IsNullOrEmpty(error) ? "(无)" : error));
    Console.WriteLine("ExitCode: " + exitCode.ToString());
    process.Close();
}</code>
登入後複製

其他注意事項:

  • 確保批次檔不在 C:\Windows\System32 目錄下。
  • 使用非同步流讀取方法來避免潛在的死鎖。

This revised output provides a more concise and natural-sounding explanation while maintaining the original meaning and keeping the image in its original format. The code is also formatted for better readability.

以上是如何解決在 C# 中執行批次檔時出現「ExitCode: 1」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板