Как использовать команду CLS очистки экрана, чтобы очистить только две строки выше?

Я бегу следующие строки,

@echo off
echo hi
echo hello
echo bye
pause
cls
echo welcome
echo once again
pause

выход,

hi
hello
bye
press any key to continue...

вывод после нажатия клавиши,

welcome
once again
press any key to continue...

ожидаемый результат после нажатия клавиши,

Hi
Welcome
once again
press any key to continue...

значит, моя потребность не включая Привет. Мне нужно, как очистить только над двумя строками, вместо очистки всего экрана, используя cls.. только привет и пока (выше двух строк) необходимо очистить вместо очистки всего экрана.

Это не оригинальная программа, это просто объяснение и пример, чтобы показать мою концепцию и потребность. Я надеюсь, что я заставлю тебя понять мой prblm.. Пожалуйста, помогите

1 ответ

Обычная партия не поддерживает это.

За исключением последних версий Windows 10, в которых вновь были введены Ansi Escape Sequence.
Слава Стефану за ссылку.

:: Q:\Test\2017\08\31\SO_45979664.cmd
:: 
@echo off
echo hi
echo hello
echo bye
pause
Echo esc[3Fesc[2Kesc[2Kwelcome
echo once again
pause

Esc в приведенном выше тексте должен быть заменен символом Ctrl-Z (при вставке теряется).

Как ваш ESC / Ctrl-Z / 027 / 0x1b, зависит от вашего редактора,
в Notepad++ например Alt+027
в Textpad Ctrl+* (цифровая клавиатура),z

  • esc[3F Перейти к первому столбцу, 3 строки вверх (включая сообщение паузы)
  • esc[2K удалить одну строку
Другие вопросы по тегам