当前位置: 首页 > news >正文

使用batch脚本调用另一个batch脚本遇到的问题

问题

最近写了两个batch脚本:a.bat 和 b.bat,a.bat中使用call b.bat调用执行b.bat,b.bat里面会使用start xx.exe启动一个会一直运行的可执行程序。执行之后发现,a.bat里面调用b.bat之前的日志会打印,b.bat里面的日志也可以正常打印,但是a.bat里面call b.bat语句后面的日志却不打印。而且当执行比如 : a.bat param1之后,再执行a.bat param2发现,命令行会提示:另一个程序正在使用此文件,进程无法访问。什么鬼,a.bat param1明明已经执行完了。

探索

难道是b.bat里面的start语句会阻塞后续的执行,但是实际情况不是的,b.bat里面start语句后面的语句可以正常执行并打印log, 说明start命令会另起一个进程执行,但不会影响b.bat的执行。但是为什么会影响到a.bat的执行呢?

解决

既然start不会影响其所在batch脚本文件的执行,那么尝试将b.bat整体迁移到a.bat里面,取代在a.bat里面使用call命令调用b.bat, 即在a.bat里面直接使用start命令。果不其然,改动之后问题解决。

问题虽然解决,但还是不知道为什么会这样,大家有知道原因的吗?欢迎留言。

http://www.xdnf.cn/news/304075.html

相关文章:

  • 【Linux网络编程十一】网络原理之数据链路层
  • 【HTML5】显示-隐藏法 实现网页轮播图效果
  • 【LDM】视觉自回归建模:通过Next-Scale预测生成可扩展图像(NeurIPS2024最佳论文阅读笔记与吃瓜)
  • 第七节:图像基本操作-图像属性获取 (尺寸、通道数、数据类型)
  • C++【STL】(1)string
  • 基于STM32、HAL库的W25X40CLSNIG NOR FLASH存储器驱动应用程序设计
  • 【Linux系统】线程安全
  • unix 详解
  • cuda多维线程的实例
  • 纷析云开源财务软件:重新定义企业财务自主权
  • 《Python星球日记》第35天:全栈开发(综合项目)
  • 基于 Flask的深度学习模型部署服务端详解
  • Linux 工具
  • docker + K3S + Jenkins + Harbor自动化部署
  • Opentack基础架构平台运维
  • iPhone或iPad想要远程投屏到Linux系统电脑,要怎么办?
  • react-12父子组件间的数据传递(子传父)(父传子)- props实现
  • Axure :列表详情、列表总数
  • Spring Boot 3.x集成SaToken使用swagger3+knife4j 4.X生成接口文档
  • 开源与商业:图形化编程工具的博弈与共生
  • ExtraMAME:复古游戏的快乐“时光机”
  • 信息论01:从通信到理论的飞跃
  • 第七章,VLAN技术
  • Github 2025-05-06Python开源项目日报 Top10
  • Kotlin与Java在Android生态中的竞争与互补关系
  • RT-Thread自用记录(暂定)
  • 第四章-初始化Direct3D
  • 餐饮部绩效考核管理制度与综合评估方法
  • 【java】程序设计基础 八股文版
  • 开放的力量:新零售生态的共赢密码