Batch Echo Style:两条语句排成一行 [英] Batch Echo Style: two statements into same line

查看:20
本文介绍了Batch Echo Style:两条语句排成一行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一些代码正在运行,但我想让它变得更好。

目前我的代码是:

@echo off
echo Starting Program 1 ... >> %log%
call Program1.cmd
if %ERRORLEVEL%==1 (
    echo Error. >> %log%
) else (
    echo Success. >> %log%
)

我希望在代码中保留这两个回显,因为出于调试的原因,我发现这样做更好。但是,我不喜欢它的两个输出行。如何更改代码才能获得此输出:

正在启动程序%1...成功

感谢您的帮助, 彼得

推荐答案

您必须将第一条消息存储到变量中,然后在最后一次重定向到文件时使用它。

若要使用您的代码,应如下所示:

@echo off
set "log=C:	soatchlog.log"
set "message=Starting Program 1 ... "
call Program1.cmd
if %ERRORLEVEL%==1 (
    echo %message% Error. >> %log%
) else (
    echo %message% Success. >> %log%
)

编辑在上面的脚本中,如果调用的脚本出现严重错误,您可能会丢失日志记录信息。

您可以这样做:

@echo off
set "log=C:	soatchlog.log"
echo | set /p message="Starting Program 1 ... " >> %log%
call Program1.cmd
if %ERRORLEVEL%==1 (
    echo Error. >> %log%
) else (
    echo Success. >> %log%
)

/p开关:

P开关允许您将变量的值设置为一行 用户输入的内容。在之前显示指定的提示字符串 读取输入行。提示字符串可以为空。

注意:此处消息只是一个伪变量。

关于此主题,dbehham有一个复杂的答案。

这篇关于Batch Echo Style:两条语句排成一行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆