Есть ли функция, которая очищает последнюю строку в командной строке? Я не имею в виду "cls" - он очищает весь экран, я хочу удалить только последнюю строку.
например Я ищу файл в папке и ее подпапках, и я хочу напечатать в текущую папку cmd, но я хочу переписать его, когда папка изменится, а не просто добавить в конец. Я знаю, это банальность, но мне интересно, как это можно сделать.





Какая из этих последних строк?
Тот, что чуть выше подсказки?
Если это то, что вы имеете в виду, то нет, нет никакого способа очистить это с помощью подсказки.
Если вы говорите о том, чтобы делать это программно, попробуйте использовать "\r" следующим образом:
print("\rNew text in the line");
Нет, для этого нет команды
к сожалению, вы, наверное, правы: - \
Если вы используете драйверы экрана ANSI, вы можете просто вывести "\ r", новую строку, затем 'ESC', '[', 'K', которые очистятся до конца строки.
Но одна вещь, на которую следует обратить внимание, вы должны ограничить длину вывода до ожидаемой ширины экрана, чтобы строки не переносились, например
c:\directory\really_big_name_too_long_..._so_Ive_put_some_ellipses_in.txt
В этом случае вы, вероятно, можете просто дополнить все до 79 символов, и это будет работать только с символом «\ r», независимо от драйвера ANSI.
Вы ищете Ctrl-c?
Вы можете использовать скобки для записи предыдущего, а затем не записывать строку, которую вы хотите удалить, с помощью команды TYPE: (Это всего лишь пример)
(
echo (Previous Outputs)
(This may happen as many times as needed)
) >> C:\file.txt
set /P thing=
cls
type C:\file.txt
pause
Я считаю, что вы можете вывести символ возврата, если вы не перешли на новую строку.