批量在echo命令的末尾添加一些内容

时间:2019-06-27 20:02:50

标签: batch-file append echo

我想在已经执行的echo命令后面附加一些文本。例如,根据某件事情是否顺利进行,选择“完成”或“失败”。

我正在尝试创建一个批处理文件,以检查文件是否存在,然后继续进行下一步。我承认我对批处理不满意,我当前的解决方案是,使用goto语句,无论是否顺利进行,都要打印新行。

当前解决方案:

@echo off
cls
echo Checking if the file is present...

if exist "file" goto :Next
color 4
echo File not found!
pause
exit

:Next
color a
echo Done.
:: Rest of the script continues here.

我要做什么:

@echo off
cls
echo Checking if the file is present...

if exist "file" goto :Next
:: Here it should append "File not found!" at the end of the previous echo
pause
exit

:Next
:: Here it should append "Done." at the end of the previous echo

:: Rest of the script continues here.

简单地说,预期结果将允许我先前通过回声输出的一行的末尾附加某些内容,最好在末尾附加一些颜色(此处我将红色用于失败,将绿色用于成功)。这有可能吗?如果是这样,我将如何去做?

请注意,布局脚本可能有更好的方法,如前所述,我对批处理并不满意。

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:2)

(ab)使用set /p来写而没有换行符:

@echo off
<nul set /p "=working...  "
timeout 3 >nul
echo done.

答案 1 :(得分:-1)

您可以将-n用于第一个命令。它不会在回显后添加换行符。

echo -n“正在检查文件是否存在...”