1

ProcessStartInfoクラスを使用してバッチファイルを実行しています。しかし、私はそれを適切に使用することにそれほど気づいていません。バッチファイルを実行すると、エラーがあるかどうかを追跡できますか。私のシナリオでは、バッチは別のプロセスを開始し、正常に開始され、実行を継続します。また、バッチファイルの実行中にエラーが発生した場合は終了します。これは私が使用しているコードです。

成功した開始と失敗の両方も追跡する必要があります。

internal bool ExecuteBatchFile(string fileName, int executionTime)
    {
        var exitCode = -1;
        var error = string.Empty;
        try
        {

            var hubStartInfo = new ProcessStartInfo
            {
                CreateNoWindow = false,
                FileName = fileName,
                UseShellExecute = false
            };

            var process = new Process { StartInfo = hubStartInfo };
            process.Start();
            process.WaitForExit(executionTime);

            if (process.HasExited)
            {
                exitCode = process.ExitCode;
                if (exitCode == 0)
                {
                    return true;
                }
                error = process.StandardError.ReadToEnd();
            }
            else
            {
                return true;
            }

            return false;
        }
        catch (Exception e)
        {
            return false;
        }
    }

ありがとう

4

1 に答える 1

2

プロセスの起動については、こちらをご覧ください。例2には、外部プロセスの監視に関する情報があります

private void simpleRun_Click(object sender, System.EventArgs e)
{
  System.Diagnostics.Process.Start(@"C:\listfiles.bat");
}
于 2012-07-12T15:11:30.347 に答える