windows - 尝试包装 CALL 函数失败
问题描述
我想要一个稍微增强的 CALL 函数包装器,它可以更改 cmd.exe 窗口标题,以便我知道它在做什么,并将输出写入日志文件。我的 mycall.bat 文件如下所示:
title %1
call %1 > %1.log
if %ERRORLEVEL% EQU 0 GOTO :SUCCESS
if %ERRORLEVEL% NEQ 0 GOTO :ERROR
:SUCCESS
@ECHO " MYCALL %1: Completed successfully."
EXIT /B 0
:ERROR
@ECHO " MYCALL %1: An ERROR has occurred, errorlevel: %ERRORLEVEL%"
EXIT /B %ERRORLEVEL%
主调用者文件 TestCall.bat 是这样的:
mycall test1.bat
mycall test2.bat
mycall test3.bat
这些文件中的每一个,test1.bat、test2.bat、test3.bat 只有一行,即第一行是 ECHO "Test1",第二个是 ECHO "Test2",依此类推。
当我从 cmd.exe 窗口运行 TestCall.bat 文件时,我只看到“Test1”回显;其他文件似乎从未运行,屏幕上没有任何内容,没有创建日志文件。我的感觉是这个问题是一些错误处理问题,但不应该有。TestCall.bat 第一次调用成功,然后似乎停止了——我确实看到了“MYCALL test1.bat:成功完成”。信息。
也许我已经盯着它太久了,我错过了一些明显的东西 - 任何想法都会受到赞赏。
解决方案
推荐阅读
- angular - 带有 Express 服务器路由问题的 Angular 7
- php - 如何从 phpmyadmin 恢复已删除的数据库?
- excel - VBA - 使用变量寻找目标,而不是使用 excel 单元格。引发“无效的限定符”错误
- node.js - 无法覆盖 Kinesis Consumer 的 DynamoDB 终端节点
- python - 用户输入的数字位于数组中的哪两个数字中
- html - 如何拉伸图像以填充图形标签
- python - Pandas 数据集的假设检验和计算 p 值
- java - 使用 Eclipse Java:我可以在另一个 JVM 中运行代码/测试吗?
- android - 已签名的 APK - 密码验证失败
- spring-boot - 通过提供用户名和密码来调用spring boot resttemplate api