CLS — очистка экрана командной строки Windows

CLS мгновенно очищает экран командной строки Windows, удаляя накопившийся вывод. Незаменима в bat-скриптах и при интерактивной работе в CMD.

Команда CLS (Clear Screen) очищает экран командной строки Windows, удаляя весь накопившийся вывод. Она не затрагивает переменные окружения, историю команд или запущенные процессы — просто прокручивает буфер так, чтобы приглашение оказалось в верхнем левом углу.

Синтаксис команды CLS

CLS

Команда не принимает параметров и ключей. Достаточно набрать CLS и нажать Enter.

Примеры использования

Быстрая очистка при интерактивной работе

После длинного вывода команды dir /s экран заполнен сотнями строк. Введите CLS — и консоль чистая, курсор в начале.

C:\> dir /s C:\Windows\System32
... (сотни строк) ...
C:\> CLS

Экран обнулится немедленно, история команд (стрелка вверх) при этом сохраняется.

Очистка в начале bat-скрипта

Если скрипт запускается двойным щелчком или по расписанию, предыдущий вывод в окне мешает читать новые результаты. Поставьте CLS первой строкой после @echo off.

@echo off
CLS
echo Начало резервного копирования...
robocopy D:\Data E:\Backup /MIR

Пользователь увидит только вывод текущего запуска, без мусора от предыдущих сессий.

Разделение этапов в длинном скрипте

При многоэтапной автоматизации удобно очищать экран между шагами, чтобы оператор видел только актуальный прогресс.

@echo off
CLS
echo === Шаг 1: проверка диска ===
chkdsk C: /f
CLS
echo === Шаг 2: очистка временных файлов ===
del /q /f /s %TEMP%\*

Каждый этап начинается с чистого экрана — читаемость значительно возрастает.

Скрипт с меню выбора

В интерактивных меню CLS используется перед каждым повторным показом вариантов, чтобы старые ответы пользователя не накапливались на экране.

@echo off
:menu
CLS
echo 1. Анализ диска
echo 2. Очистка временных файлов
echo 3. Выход
set /p choice=Выберите пункт:
if "%choice%"=="1" goto analyze
if "%choice%"=="2" goto clean
if "%choice%"=="3" exit
goto menu

При каждом возврате в :menu экран очищается, и пользователь видит только актуальные варианты.

Очистка перед выводом финального результата

Когда скрипт выполняет долгую фоновую работу и в конце нужно показать итоговый отчёт без предшествующего журнала:

@echo off
CLS
echo Идёт сбор информации о системе...
systeminfo > C:\temp\report.txt
CLS
echo Готово. Результат сохранён в C:\temp\report.txt

Итоговое сообщение появляется на чистом экране, не теряясь в потоке предыдущего вывода.

Частые ошибки и решения

Ситуация Причина Решение
CLS не очищает вывод при перенаправлении Вывод идёт в файл или pipe, а не в консоль — очищать нечего Использовать CLS только в интерактивном режиме или до перенаправления
В ISE или VSCode Terminal экран не очищается полностью Встроенные терминалы IDE не эмулируют стандартный буфер CMD Запускать скрипты в нативном окне CMD или PowerShell, где CLS работает штатно
После CLS исчезает нужный вывод, который хотелось сохранить Команда необратима — буфер очищается немедленно Сначала сохранить нужный вывод в файл: команда >> лог.txt, затем вызывать CLS
Скрипт продолжает показывать старый вывод в PowerShell В PowerShell команда CLS — это алиас Clear-Host, поведение схожее, но не идентичное В PowerShell явно использовать Clear-Host или cls — оба работают
Ошибка «CLS не является внутренней или внешней командой» при запуске через cmd /c CLS — встроенная команда интерпретатора, а не exe-файл; при некоторых вызовах контекст теряется Запускать как cmd /c "cls" или использовать cmd /k cls для интерактивной сессии

Когда применять, а когда нет

Команда CLS уместна везде, где важна читаемость вывода: интерактивные меню, многоэтапные скрипты, утилиты с пользовательским интерфейсом в консоли. Применима в любой версии Windows, прав администратора не требует, работает на NTFS, FAT32 и сетевых дисках одинаково — диски здесь вообще ни при чём.

Не используйте CLS в скриптах, где весь вывод перенаправляется в файл или передаётся по pipe: эффекта не будет, а в лог попадёт лишняя запись о вызове команды. Также не вставляйте CLS перед важным выводом, который оператор должен успеть прочитать — очистка происходит мгновенно.

Аналог в PowerShell: Clear-Host (или алиас cls). В Linux/macOS bash-эквивалент — команда clear.

FAQ

Можно ли отменить очистку экрана командой CLS?

Нет. После выполнения CLS буфер экрана очищается безвозвратно. Если нужно сохранить вывод, предварительно перенаправьте его в файл: команда >> C:\log.txt.

CLS удаляет переменные окружения или прерывает запущенные процессы?

Нет. Команда влияет только на отображение — прокручивает буфер консоли. Все переменные, фоновые процессы и состояние сессии остаются нетронутыми.

Почему CLS не работает в скрипте PowerShell?

В PowerShell cls — алиас для Clear-Host и работает корректно. Если скрипт запущен без окна (например, через Task Scheduler с параметром -WindowStyle Hidden), очищать нечего — это нормальное поведение.

Как очистить экран из Python или другого языка, вызывая CMD?

Используйте os.system('cls') в Windows. Поскольку CLS — встроенная команда CMD, она вызывается через cmd /c cls при запуске из внешних программ.

Есть ли разница между CLS и нажатием крестика и повторным открытием CMD?

Принципиальная: закрытие окна завершает сессию, все переменные и история теряются. CLS лишь очищает экран, сессия продолжается.

Оцените статью
( Пока оценок нет )
MW10
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.