Тихая очистка диска в Windows через командную строку

Коротко о задаче
Очистка диска удаляет временные и ненужные файлы, освобождая место и повышая производительность системы. “Тихая” (без взаимодействия с пользователем) очистка полезна для автоматизации обслуживания одиночных машин и крупных парковых сред.
Важно: cleanmgr — встроенный инструмент Windows. Для управляемого развёртывания используйте сценарии или групповые политики.
Основные методы (быстрое руководство)
1. Использование ключа /VERYLOWDISK
- Нажмите клавишу Windows, введите cmd и выберите “Запуск от имени администратора”.
- Введите команду:
cleanmgr.exe /VERYLOWDISK
Этот параметр заставляет Cleanmgr автоматически очистить все стандартные категории и показать итоговое окно с объёмом освобождённого места. Во время самой очистки взаимодействие не требуется.
Плюсы: простая команда, подходит для единичных запусков или быстрого скрипта. Минусы: ограниченный контроль над тем, какие категории чистить.
2. Настройка пресета через /SAGESET и запуск /SAGERUN
- Откройте командную строку от имени администратора и выполните:
cleanmgr.exe /SAGESET:1Появится окно с перечнем категорий очистки. Отметьте нужные и нажмите OK — настройки сохранятся под номером 1.
Для запуска сохранённого пресета используйте:
cleanmgr.exe /SAGERUN:1Это позволяет явно контролировать, какие типы файлов удалять, и повторно применять настройки без интерактивного ввода.
3. Скрипт, комбинирующий установку флагов и запуск
Пример .bat-файла, который устанавливает флаги очистки для всех VolumeCaches и запускает cleanmgr:
@echo off
set rootkey=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches
for /f "tokens=*" %%K in ('reg query %rootkey%') do >NUL REG add "%%K" /v StateFlags0000 /t REG_DWORD /d 2 /f
cleanmgr /sagerun:0Сохраните как cleanup.bat и запустите от имени администратора. Скрипт устанавливает StateFlags0000=2 для каждого раздела, что эквивалентно выбору категорий очистки, затем выполняет sagerun.
4. Планирование в Task Scheduler
- Откройте Планировщик задач (Task Scheduler).
- Создайте задачу или базовую задачу по расписанию.
- В качестве программы укажите:
Program/script: cleanmgr.exe
Add arguments: /SAGERUN:1
Плюс: можно запускать от учётной записи с правами, задавать триггеры (ежедневно/еженедельно) и ставить условия (выполнять только при простое/на питании от сети).
5. PowerShell-скрипт для тонкого управления
PowerShell позволяет программно создавать/править ключи реестра и запускать cleanmgr:
$volumeCaches = Get-ChildItem "HKLM:\Software\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches"
foreach ($key in $volumeCaches) {
New-ItemProperty -Path "$($key.PSPath)" -Name StateFlags0000 -Value 2 -Type DWORD -Force | Out-Null
}
Start-Process -Wait "$env:SystemRoot\System32\cleanmgr.exe" -ArgumentList "/sagerun:0"Сохраните как cleanup.ps1 и выполните от администратора. Такой скрипт легко интегрируется в SCCM, Intune или другие автоматизационные фреймворки.
6. Автоматизация через Group Policy
- Откройте Group Policy Management Console (gpmc.msc).
- Создайте или отредактируйте GPO, привяжите его к нужному OU.
- В разделе Computer Configuration > Policies > Windows Settings > Scripts (Startup/Shutdown) добавьте ваш cleanup.bat или cleanup.ps1 в Startup.
Это даёт централизованное развёртывание на все компьютеры в OU при загрузке.
Практические замечания и советы
- Запускайте тесты на контрольной группе машин перед массовым развёртыванием. Это поможет избежать удаления нужных данных в нестандартных окружениях.
- Для ноутбуков поставьте условие “Запускать только при подключении к сети” в планировщике, чтобы не расходовать батарею.
- Сохраняйте скрипты в защищённом сетевом хранилище с ограниченными правами на изменение.
Important: перед массовой очисткой убедитесь, что никакие приложения не используют временные файлы, которые важны для текущих сессий.
Когда такой подход не сработает (ограничения и исключения)
- Если Cleanmgr был удалён или заменён в вашей сборке Windows (редко, но бывает в специализированных образах), команды не найдут исполняемый файл.
- Некоторые типы мусора (например, дубликаты, старые большие файлы пользователя) cleanmgr не удаляет — для этого нужны специальные утилиты.
- На системах с нестандартными правами реестра изменение StateFlags может быть заблокировано политиками безопасности.
Альтернативные подходы
- Storage Sense (встроенная функция Windows 10/11) — автоматическая очистка, настраивается через Settings -> System -> Storage.
- Сторонние средства (CCleaner и т.п.) — дают больше опций, но требуют доверия и возможного лицензирования.
- Собственные скрипты, ориентированные на поиск больших файлов (> X ГБ) и старых временных файлов.
Чек-лист для администратора (развёртывание в домене)
- Подготовить и протестировать cleanup.bat/cleanup.ps1 на тест-машинах.
- Сохранить скрипты в доступном и защищённом UNC-пути.
- Создать GPO и добавить скрипт в Startup или использовать SCCM/Intune для развёртывания.
- Настроить задачу в Task Scheduler для исключительных случаев (если нужен периодический запуск).
- Отслеживать выполнение задач: логи Task Scheduler и события Windows.
- Проинформировать пользователей о плановом обслуживании (если возможно).
Критерии приёмки
- Скрипт успешно запускается и завершает работу без запроса ввода.
- Объём свободного пространства увеличился согласно ожидаемому диапазону (проверка ручными средствами).
- В журналах отсутствуют ошибки записей реестра и отказов запуска cleanmgr.
Отладка и логирование
- Проверяйте Event Viewer для ошибок запуска задач.
- В .bat добавьте перенаправление вывода в лог-файл, например:
cleanup.bat > C:\Logs\cleanup_%COMPUTERNAME%_%DATE%.log 2>&1- Для PowerShell используйте Start-Transcript / Stop-Transcript для полного протоколирования.
Безопасность и соответствие
- Скрипты, изменяющие реестр, требуют прав администратора. Ограничьте доступ к исходникам.
- Не храните чувствительные данные в скриптах. Если требуется учётная запись, используйте Managed Service Accounts или групповые политики.
- Для компаний, подчиняющихся требованиям конфиденциальности, убедитесь, что автоматическая очистка не удаляет журналы, необходимые для аудита.
Совместимость и заметки по версиям Windows
- Cleanmgr присутствует в Windows 7, 8.1, 10 и многих сборках Windows 11, но Microsoft постепенно переводит функциональность в Storage Sense в новых образах.
- На Windows Server cleanmgr может отсутствовать по умолчанию; при необходимости установите соответствующие компоненты или используйте PowerShell и собственные скрипты очистки.
Примеры использования (кейсы)
- Единичная машина: запуск cleanmgr.exe /VERYLOWDISK вручную или через .bat.
- Серверная ферма: GPO с startup-скриптом или развёртывание через SCCM.
- Автоматизация обслуживания пользователям: Task Scheduler на каждой машине с /SAGERUN настроенным пресетом.
Частые ошибки и их решения
- “Access denied” — запустите от имени администратора и проверьте права на ключи реестра.
- “Команда не найдена” — проверьте наличие cleanmgr.exe в %SystemRoot%\System32.
- Скрипт ничего не удаляет — проверьте, установлены ли StateFlags0000 и правильно ли указан индекс /SAGERUN.
FAQ
Как быстро проверить, какие категории отмечены в пресете?
Выполните /SAGESET:номер в интерактивном режиме на тестовой машине — появится окно с выбранными категориями.
Можно ли вернуть удалённые файлы после cleanmgr?
Частично: некоторые файлы удаляются навсегда. Если важные данные были удалены, используйте средства восстановления файлов, но гарантий нет.
Подходит ли этот метод для Windows 11?
Да, но для новых сборок Microsoft рекомендует Storage Sense. Cleanmgr всё ещё работает в большинстве сборок, но со временем его функции могут быть перенесены.
Короткое резюме:
- Используйте /VERYLOWDISK для быстрой бесшумной очистки.
- Для повторяемости создавайте пресеты через /SAGESET:/SAGERUN.
- Для домена применяйте GPO или централизованные инструменты управления.
- Тестируйте на контрольной группе и логируйте выполнение.
Если хотите, я могу сгенерировать готовый GPO-чеклист в виде таблицы или подготовить PowerShell-скрипт под Intune. Оставьте комментарий с вашим сценарием развертывания.
Похожие материалы
Отслеживание скорости подростка с Automatic Pro
Lens — графический клиент для Kubernetes
Очистить историю загрузок в Firefox
Стрим с Apple Silicon: настройка M1/M2 Mac
Как использовать PGP в ProtonMail