首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >交错批处理脚本

交错批处理脚本
EN

Stack Overflow用户
提问于 2013-03-13 09:00:41
回答 3查看 74关注 0票数 0

我正在找一些批处理脚本的任务,有人能帮上忙吗?

我有一个主批处理脚本,它调用一个build.bat。当构建脚本被调用( start cmd /k build.bat)时,它会执行build.Then,并返回到Main来完成剩余的任务。构建需要很长时间。

是否可以开始构建并返回到main,然后在main中完成一些任务,然后返回到Build.bat?

谢谢!

EN

回答 3

Stack Overflow用户

发布于 2013-03-13 09:02:35

不完全是。你必须提取你想要并行运行的主脚本的一部分,你不能来回跳转。

代码语言:javascript
复制
Main --> build task    --> more main
     --> part of main  |
票数 1
EN

Stack Overflow用户

发布于 2013-03-13 09:02:58

“命令窗口”可能不是你要找的词。

但是,一个.bat文件可以调用另一个文件,然后返回到第一个文件。

神奇之处在于,在调用子.bat或.cmd文件时,可以使用关键字"call“:

  • http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/call.mspx

PS:

如果您正在进行软件构建,我强烈建议您考虑使用"Makefile“脚本,而不是使用.bat文件。我的..。

票数 0
EN

Stack Overflow用户

发布于 2013-03-13 11:48:31

你可以--在某种程度上。

设置一个像WAIT4F.BAT这样的批处理

代码语言:javascript
复制
@ECHO OFF
:: Wait for file %1
IF "%~1"=="" GOTO :eof
:loop
IF NOT EXIST "%~1" choice /t 1 /d y /n >NUL&GOTO loop

只需插入CALL WAIT4F filename,让一个批处理等待另一个批处理创建文件(假设是在完成一个步骤时)

通过这种方式,批处理会暂停,直到一个并行进程完成其任务,所以两个(或更多!)批处理可以同时运行。它还具有一个优点,即创建的文件可以包含允许批处理进行通信的信息-例如,类似错误级别。

就我个人而言,我会在%temp%中创建(Se)标志文件

如果你使用的是pre-Vista,用PING -n 2 127.0.0.1 >nul代替CHOICE命令(这只是一个延迟)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15375180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档