Exécution de fichiers batch et dépannage en C#
En C#, vous pouvez utiliser la classe Process
pour exécuter des fichiers batch. Cependant, des erreurs peuvent survenir lors de l'exécution.
FAQ :
Par exemple, le message d'erreur « ExitCode : 1 (Catch all for general error) » signifie qu'une erreur générale s'est produite lors de l'exécution du fichier batch.
Solution :
Pour diagnostiquer cette erreur, une solution consiste à rediriger et à inspecter les flux de sortie et d'erreur du fichier batch exécuté. Cela peut aider à mieux comprendre la cause de l’erreur. Le code suivant implémente cette technique :
<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>
Autres notes :
C:\Windows\System32
. Cette sortie révisée fournit une explication plus concise et plus naturelle tout en conservant la signification originale et en conservant l'image dans son format d'origine. Le code est également formaté pour une meilleure lisibilité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!