Команда CLS (Clear Screen) очищает экран командной строки Windows, удаляя весь накопившийся вывод. Она не затрагивает переменные окружения, историю команд или запущенные процессы — просто прокручивает буфер так, чтобы приглашение оказалось в верхнем левом углу.
- Синтаксис команды CLS
- Примеры использования
- Быстрая очистка при интерактивной работе
- Очистка в начале bat-скрипта
- Разделение этапов в длинном скрипте
- Скрипт с меню выбора
- Очистка перед выводом финального результата
- Частые ошибки и решения
- Когда применять, а когда нет
- FAQ
- Можно ли отменить очистку экрана командой CLS?
- CLS удаляет переменные окружения или прерывает запущенные процессы?
- Почему CLS не работает в скрипте PowerShell?
- Как очистить экран из Python или другого языка, вызывая CMD?
- Есть ли разница между CLS и нажатием крестика и повторным открытием CMD?
Синтаксис команды 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 лишь очищает экран, сессия продолжается.


