我正在使用 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;
}
}
谢谢