我必须为那些必须"启动"的窗口编写一个简单的批处理脚本。另一个脚本,只返回已启动程序输出的最后一行。
我需要这样才能抓住"状态"已启动的命令,它打印的内容如下:"结束程序,代码为0"经过许多(并且未知其他数量的线)
我需要的是只捕获catch.cmd中myprogram.cmd的最后一行
我会尝试在我的catch.cmd脚本中使用CALL来运行myprogram.cmd,但我不知道如何操作并返回最后一个输出行。
如果我只使用CALL myprogram.cmd
我将获取catch.cmd中的所有输出,我将尝试使用CALL myprogram.cmd >NULL
隐藏catch.cmd中的所有输出,但如何获取myprogram.cmd的最后一行?
感谢您的任何建议
答案 0 :(得分:0)
我创建了两个文件。
called.bat:
@echo off
dir c:\
caller.bat:
@echo off
for /f "tokens=*" %%f in ('call called.bat') do set lastLine=%%f
echo %lastLine%
运行caller.bat将执行called.bat"在默认情况下"并保存变量%lastLine%
中的最后一行。
所以在你的情况下,anser就是这一行:
...
for /f "tokens=*" %%f in ('call myprogram.cmd') do set lastLine=%%f
if "%lastLine%"=="End programm with code 0" (
::DO SOMETHING
)
...