有没有办法“覆盖文字”,所以这样: 我回应出“Hello world”,但现在我想让它说“Pie is good”所以我需要它来打印它。 我不能使用cls,因为它会闪烁。
编辑:
我需要使用大量的echos
我需要它来在“0,0”处重新开始文本。
答案 0 :(得分:2)
这是基于jeb在 progress % within same line without cls 的帖子。
@echo off
cls
setlocal EnableDelayedExpansion
call :BL.String.CreateCR
<nul set /p "=Hello world!CR!"
REM I will delay here so we can see it work. You will do other processing
ping -n 2 127.0.0.1 > nul
<nul set /p "=Pie is good"
ping -n 2 127.0.0.1 > nul
echo.
pause
exit /b
:BL.String.CreateCR
::: CR should be used only with DelayedExpansion
for /F "usebackq" %%a in (`copy /Z "%~dpf0" nul`) DO (
set "cr=%%a"
)
exit /b
答案 1 :(得分:1)
您可以打印整页。
@ECHO OFF
ECHO ###############################################################################
ECHO #
ECHO # Hello World
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO ###############################################################################
PAUSE
ECHO ###############################################################################
ECHO #
ECHO # Pie is Good
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO #
ECHO ###############################################################################
PAUSE