Как мне имплицировать ожидание внутри командной строки
В настоящее время я использую его для выполнения некоторых вещей в cmd.
string[] strCmdText = { "/C pdflatex letter_of_application.tex", "/C xelatex curriculum_vitae.tex", "/C biber curriculum_vitae.bcf", "/C xelatex curriculum_vitae.tex" }; foreach (string cmd in strCmdText) { Process process = new Process(); ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.WindowStyle = ProcessWindowStyle.Hidden; startInfo.FileName = "cmd.exe"; startInfo.Arguments = cmd; process.StartInfo = startInfo; process.Start(); }
Теперь проблема заключается в том, что если компилятор работает с этой строкой, он открывает 4 cmds и выполняет ее непосредственно.
Как я могу сказать ему, что он должен подождать, пока предыдущий процесс не закончится?
Что я уже пробовал:
<pre lang="c#">string[] strCmdText = { "/C pdflatex letter_of_application.tex", "/C xelatex curriculum_vitae.tex", "/C biber curriculum_vitae.bcf", "/C xelatex curriculum_vitae.tex" }; foreach (string cmd in strCmdText) { Process process = new Process(); ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.WindowStyle = ProcessWindowStyle.Hidden; startInfo.FileName = "cmd.exe"; startInfo.Arguments = cmd; process.StartInfo = startInfo; process.Start(); }
Perić Željko
https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.process.hasexited?view=netcore-3.1#System_Diagnostics_Process_HasExited