C# - Запустить приложение с аргументами.
Здравствуйте, я запускаю программное обеспечение CFast для параметрического анализа. Для этого я хочу создать приложение на C#, которое запускает ядро CFast.exe. Если я хочу запустить программное обеспечение из cmd.exe и запустить его в файле INPUTFILENAME.in, я пишу в приглашении:
CFast.exe INPUTFILENAME
В C# я написал следующий код:
Process firstProc = new Process();
firstProc.StartInfo.FileName = @"C:\Users\Alberto\Desktop\Simulazioni Cfast\D\C\N\A3B1\CFAST.exe";
firstProc.StartInfo.Arguments = @"INPUTFILENAME";
firstProc.EnableRaisingEvents = true;
firstProc.Start();
firstProc.WaitForExit();
С этим кодом CFast запускается, но ничего не анализирует... Похоже, не принимать аргумент. Намек на эту неприятность?
1 ответ
Решение
Решаемые. Ошибка в имени файла и в синтаксисе команды
// setup cmd process
var command = @"CFAST.exe C:\Users\Alberto\Desktop\Simulazioni_Cfast\D\C\N\A3B1\A3B1";
ProcessStartInfo procStartInfo = new ProcessStartInfo("cmd", "/c " + command);
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
procStartInfo.RedirectStandardError = true;
procStartInfo.CreateNoWindow = true;
// start process
Process proc = new Process();
proc.StartInfo = procStartInfo;
proc.Start();
proc.WaitForExit();
// read process output
string cmdError = proc.StandardError.ReadToEnd();
string cmdOutput = proc.StandardOutput.ReadToEnd();
где A3B1 - имя файла.IN