windows - 将多个 bat 文件的输出重定向到一个控制台窗口
问题描述
我出于开发目的在本地运行多个微服务。目前我正在通过 .bat 脚本执行此操作,我正在调用其他 .bat 文件,这些文件正在启动我的服务。它启动多个控制台窗口,这在输出之间导航并不方便。
正在启动服务的脚本现在如下所示:
start cmd /k call api_one.bat
start cmd /k call api_two.bat
...
在 api_xxx.bat 中,我使用我的 api 启动 iisexpress。
我正在寻找一种让它更舒适的方法。例如,通过将所有输出重定向到单个输出,例如使用前缀来识别脚本输出行的来源。
解决方案
我有一个类似的问题,我从一个批处理文件调用一个批处理文件,该批处理文件启动另一个批处理文件..解释起来很复杂,但让我给你一些帮助我的代码:
来自 test.bat 的内容:
set logname=.\log.log
if exist %logname% ( type nul > %logname%
)
echo Now starting example.bat>>%logname%
call C:\example.bat >>%logname%
echo finished example.bat>>%logname%
所以现在这里是example.bat的内容:
echo starting integrated commands
start /b cmd /k "C:\example2.bat"
[some code to check for a process that starts in example2.bat]
echo finished integrated commands
并且 example2.bat 的内容可以是您想要的任何内容,并且也显示在日志文件中。
请注意,我的 example2.bat 最后有一个出口,因为 example.bat 会检查 example2.bat 是否正在运行。只有当它完成时,它才会继续执行脚本。对于我自己来说,我将所有 3 个脚本中的所有内容都放入了一个日志文件中。
推荐阅读
- c# - 如何使用画布元素进行光线投射(屏幕空间叠加)
- ios - FetchedResults 崩溃:调度队列:com.apple.main-thread (0)
- gitlab - 设计 GitLab 工作流程
- javascript - NPM 启动错误 - 文件路径找不到 JSON 包文件
- javascript - 如何在一个文本框中显示开始日期和日期,除了那个月份和日期应该像下拉菜单
- php - 如何使用 session_start 更新 MySQL 中的字段并由 id 确定
- r - 如何在Stata中为每行执行不同组的操作
- python - 将项目添加到列表的字典
- javascript - 如何在按钮单击时调用函数以侦听 React Hooks 中的另一次鼠标单击?
- javascript - D3:未捕获的异常:对象