在那里,我有两个批处理文件:BatchA.bat,BatchB.bat
BatchA.bat在呼唤B1.bat,B2.bat,B3.bat并运行在同一时间三个批处理文件(这三个批处理文件的运行顺序并不重要).这是BatchA.bat:
start B1.bat
start B2.bat
start B3.bat
Run Code Online (Sandbox Code Playgroud)
BatchB.bat呼吁B4.bat,B5.bat,B6.bat并运行在同一时间三个批处理文件(这三个批处理文件的运行顺序并不重要).这是BatchB.bat:
start B4.bat
start B5.bat
start B6.bat
Run Code Online (Sandbox Code Playgroud)
我正在使用C#控制台应用程序来调用BatchA.bat,BatchB.bat但我需要确保在完成BatchB.bat之前不会启动BatchA.bat.换句话说,我需要确保一切B1.bat,B2.bat并B3.bat在开始之前完成BatchB.bat
这是C#代码:
proc.StartInfo.FileName = BatchA.bat;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
proc.Start();
proc.WaitForExit();
int exitCode = proc.ExitCode;
proc.Close();
Console.WriteLine("Process Complete! exitCode: " + exitCode.ToString());
proc.StartInfo.FileName = BatchB.bat;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
proc.Start();
proc.WaitForExit();
exitCode = proc.ExitCode;
proc.Close();
Console.WriteLine("Process Complete! exitCode: " + exitCode.ToString());
Run Code Online (Sandbox Code Playgroud)
当我运行它时,所有6个批处理文件同时启动.在BatchA.bat完成所有三个小批量文件之前,如何确保不完整?
这将在各自的窗口中并行启动所有三个批处理文件,并等待所有三个批处理文件完成后再启动batchb。
@echo off
start "" /wait cmd /c batch1.bat |start "" /wait cmd /c batch2.bat |start "" /wait cmd /c batch3.bat
batchb.bat
Run Code Online (Sandbox Code Playgroud)