Batch Echo Style:两条语句排成一行 [英] Batch Echo Style: two statements into same line
本文介绍了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屋!
查看全文