Dalam C#, kelas
melaksanakan fail batch. Walau bagaimanapun, jika fail batch terletak di direktori, pelaksanaannya mungkin gagal dan mengembalikan Process
exitcode 1 C:\Windows\System32
, menunjukkan bahawa ralat umum berlaku.
Untuk menyelesaikan masalah ini, sila aliran semula dan aliran ralat dalam fungsi
ExecuteCommand()
<code class="language-csharp">public 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>
Jika ralat masih wujud, gerakkan fail batch ke kedudukan lain di luar direktori .
pengubahsuaian 2:
System32
Untuk mengelakkan potensi kunci mati semasa membaca aliran, sila sedar suaka seperti yang ditunjukkan di bawah:
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Fail Kelompok dengan Betul dalam C# dan Mengendalikan Ralat ExitCode 1?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!