Winapi 批处理(.bat)文件的新窗口问题

Winapi 批处理(.bat)文件的新窗口问题,winapi,batch-file,cmd,Winapi,Batch File,Cmd,我正在使用批处理文件打开几个新窗口。一旦他们完成流程,我就设置了他们退出的/c。然而,我希望我的主批处理过程在继续之前等待一个窗口完成,而不是一次完成所有事情 例如,如果我的主批处理文件有: @回声消失 启动“Win1”cmd.exe/c scomp-out……。\tasks\JARs\MessageLog.jar MessageLog.xsd-编译器“c:\Program Files\Java\jdk1.5.0\u 18\bin\javac.exe” 启动“Win2”cmd.exe/c sco

我正在使用批处理文件打开几个新窗口。一旦他们完成流程,我就设置了他们退出的/c。然而,我希望我的主批处理过程在继续之前等待一个窗口完成,而不是一次完成所有事情

例如,如果我的主批处理文件有: @回声消失 启动“Win1”cmd.exe/c scomp-out……。\tasks\JARs\MessageLog.jar MessageLog.xsd-编译器“c:\Program Files\Java\jdk1.5.0\u 18\bin\javac.exe” 启动“Win2”cmd.exe/c scomp-out……。\tasks\JARs\OwnshipData.jar OwnshipData.xsd-编译器“c:\Program Files\Java\jdk1.5.0_18\bin\javac.exe”
我希望Win1在文件移动到Win2之前完成其执行。不过,到目前为止,它们是并行执行的。

启动/等待“Win1”等。

要使用/wait,请参阅下面的参考资料

START Start a specified program or command in a separate window. Syntax START "title" [/Dpath] [options] "command" [parameters] Key: title : Text for the CMD window title bar (required) path : Starting directory command : The command, batch file or executable program to run parameters : The parameters passed to the command Options: /MIN : Minimized /MAX : Maximized /WAIT : Start application and wait for it to terminate /LOW : Use IDLE priority class /NORMAL : Use NORMAL priority class /HIGH : Use HIGH priority class /REALTIME : Use REALTIME priority class /B : Start application without creating a new window. In this case ^C will be ignored - leaving ^Break as the only way to interrupt the application /I : Ignore any changes to the current environment. Options for 16-bit WINDOWS programs only /SEPARATE Start in separate memory space (more robust) /SHARED Start in shared memory space (default) 开始 在单独的窗口中启动指定的程序或命令。 语法 启动“标题”[/Dpath][options]“命令”[参数] 关键: 标题:CMD窗口标题栏的文本(必需) 路径:起始目录 命令:要运行的命令、批处理文件或可执行程序 参数:传递给命令的参数 选项: /最小:最小化 /最大化 /等待:启动应用程序并等待其终止 /低:使用空闲优先级类 /正常:使用正常优先级类 /高:使用高优先级类 /实时:使用实时优先级类 /B:启动应用程序而不创建新窗口。在这种情况下 ^C将被忽略-留下^Break作为 中断应用程序 /I:忽略对当前环境的任何更改。 仅适用于16位WINDOWS程序的选项 /在单独的内存空间中单独启动(更健壮) /共享内存空间中的共享开始(默认)
你为什么要做这些额外的工作?无需使用start和cmd.exe/c,如果scomp是exe/com/bat,则只需“调用”,如:调用程序param1 param2etc@Anders可能monster需要一个新窗口来进行文本操作,以便进行调试。可能存在重复的