sunSweep helps clean temporary files, caches, logs and other unnecessary data from Windows.
It runs directly from PowerShell and requires no installer or additional modules.
The interactive TUI provides keyboard navigation, category selection, cleanup statistics and an animated sun while scanning.
Tip
Run Dry Run Preview before cleanup to see what sunSweep can remove and how much space can be freed.
Download or clone the repository, open PowerShell in the project folder and run:
powershell -ExecutionPolicy Bypass -File .\sunSweep.ps1You can also run the single-file version:
powershell -ExecutionPolicy Bypass -File .\sunSweep.standalone.ps1Or launch the latest standalone version directly from GitHub:
powershell -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.com/lordofsunshine/sunSweep/refs/heads/main/sunSweep.standalone.ps1 | iex"Important
Review remote scripts before running them through iex.
| Feature | Description |
|---|---|
| Interactive TUI | Keyboard navigation, checkboxes and a responsive terminal layout |
| Animated scan | Rotating sun animation while sunSweep checks the system |
| 13 cleanup categories | System, browser, storage and development caches |
| Safety levels | Every category is marked as safe, moderate or risky |
| Dry run | Preview files and estimated freed space before cleanup |
| Automatic localization | Russian for ru* system locales, English for other locales |
| Modular structure | Cleanup categories are stored as independent PowerShell modules |
| CLI mode | Scan and clean directly from terminals, scripts and automation |
| JSON output | Machine-readable scan reports with --json |
| Persistent settings | User configuration is stored in %APPDATA%\sunSweep\config.json |
| Exclusions | Paths can be protected with --exclude |
| Admin awareness | System categories check administrator permissions before running |
The menu adjusts to the current terminal width.
Descriptions are hidden when the terminal is narrower than 55 columns, keeping navigation compact and readable.
| Category | Level | Admin | Default |
|---|---|---|---|
| User Temp Files | safe |
No | On |
| Windows Temp | safe |
Yes | On |
| Windows Update Cache | moderate |
Yes | On |
| Delivery Optimization | safe |
Yes | On |
| Browser Cache | safe |
No | On |
| Recycle Bin | safe |
No | On |
| Thumbnail Cache | safe |
No | On |
| Error Reports | safe |
No | On |
| System Logs | moderate |
Yes | On |
| Prefetch | moderate |
Yes | Off |
| DirectX Shader Cache | safe |
No | On |
| Old Downloads | risky |
No | Off |
| Development Cache | moderate |
No | Off |
System Junk / User Temp Files safe
Cleans temporary files created by applications.
Paths:
%TEMP%
%LOCALAPPDATA%\Temp
The user temp directory is resolved through the %TEMP% environment variable.
System Junk / Windows Temp safe · admin
Cleans Windows temporary files from:
C:\Windows\Temp
Administrator permissions are required when:
"requireAdminForSystem": trueSystem Junk / Windows Update Cache moderate · admin
Cleans downloaded Windows Update files from:
C:\Windows\SoftwareDistribution\Download
Windows can download required update files again when needed.
System Junk / Delivery Optimization safe · admin
Cleans cached files used by Windows Delivery Optimization.
Main locations include:
C:\Windows\SoftwareDistribution\DeliveryOptimization
C:\Windows\ServiceProfiles\NetworkService\...\DeliveryOptimization\Cache
Browsers / Browser Cache safe
Cleans browser caches for supported Chromium-based browsers and Firefox.
Chromium cache locations include:
Cache
Cache_Data
Code Cache
GPUCache
Profiles:
Default
Profile *
Supported browsers:
- Google Chrome
- Microsoft Edge
- Brave
- Mozilla Firefox
Firefox cleanup includes:
cache2
startupCache
Profiles are discovered through %LOCALAPPDATA% and %APPDATA%.
Storage / Recycle Bin safe
Calculates and clears Recycle Bin contents.
sunSweep uses:
Shell.Application
Virtual folder 0xA
Size is calculated through item.Size.
Cleanup uses Clear-RecycleBin with a COM fallback when needed.
System Junk / Thumbnail Cache safe
Cleans Explorer thumbnail databases:
%LOCALAPPDATA%\Microsoft\Windows\Explorer\thumbcache_*.db
Windows rebuilds thumbnail cache files when they are needed again.
System Junk / Error Reports safe
Cleans archived and queued Windows Error Reporting data.
User locations:
%LOCALAPPDATA%\Microsoft\Windows\WER\ReportArchive
%LOCALAPPDATA%\Microsoft\Windows\WER\ReportQueue
System data under:
C:\ProgramData\Microsoft\Windows\WER\
is included when permissions allow access.
System Junk / System Logs moderate · admin
Cleans old Windows log files from locations such as:
C:\Windows\Logs
C:\Windows\Logs\CBS
C:\Windows\Debug
C:\Windows\inf\setupapi.offline*.log
Supported extensions:
*.log
*.etl
*.evtx
Files are filtered using:
"logsOlderThanDays": 7System Junk / Prefetch moderate · admin · disabled by default
Cleans Windows Prefetch data:
C:\Windows\Prefetch\*.pf
Prefetch stores application launch optimization data. Windows recreates this data as applications are used.
System Junk / DirectX Shader Cache safe
Cleans compiled DirectX shader cache:
%LOCALAPPDATA%\D3DSCache
GPU drivers and applications recreate required shader data automatically.
Storage / Old Downloads risky · disabled by default
Targets files in:
~\Downloads
Only files older than the configured threshold are included.
Default:
"downloadsOlderThanDays": 30This category contains personal files and requires explicit selection.
Select it manually in the interactive menu.
For CLI cleanup, use --force.
Development / Dev Cache moderate · disabled by default
Cleans package manager and development caches, including:
npm-cache
Yarn\Cache
pip\Cache
~\.cache\pip
~\.nuget\packages
~\.gradle\caches
NuGet\Cache
Development tools can download required dependencies again after cleanup.
Start sunSweep:
.\sunSweep.ps1Available actions:
| Menu item | Action |
|---|---|
| Scan & Clean | Scan the system and choose categories before cleanup |
| Quick Clean | Clean enabled safe and moderate categories |
| Dry Run Preview | Calculate what can be removed without deleting files |
| Categories | Enable or disable cleanup categories |
| Settings | View and manage configuration |
| What gets cleaned | Read category descriptions directly in the TUI |
Navigation is handled with the keyboard and checkbox selection.
.\sunSweep.ps1 --scan.\sunSweep.ps1 --scan --json > report.json.\sunSweep.ps1 --dry-run.\sunSweep.ps1 --categories temp-files,browser-cache --scan.\sunSweep.ps1 --clean.\sunSweep.ps1 --clean --force.\sunSweep.ps1 --exclude "C:\Temp\keep*" --clean --forceEnable a category:
.\sunSweep.ps1 --enable downloadsDisable a category:
.\sunSweep.ps1 --disable prefetchList categories:
.\sunSweep.ps1 --list-categoriesShow current configuration:
.\sunSweep.ps1 --show-configReset user configuration:
.\sunSweep.ps1 --reset-configsunSweep.standalone.ps1 contains the project in a single PowerShell file.
Run a local copy:
powershell -ExecutionPolicy Bypass -File .\sunSweep.standalone.ps1Run the latest version directly from GitHub:
powershell -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.com/lordofsunshine/sunSweep/main/sunSweep.standalone.ps1 | iex"Default settings:
Config/default.json
User settings:
%APPDATA%\sunSweep\config.json
User settings override matching values from the default configuration.
Example:
{
"categories": {
"temp-files": true,
"prefetch": false,
"downloads": false
},
"thresholds": {
"downloadsOlderThanDays": 30,
"logsOlderThanDays": 7
},
"excludePaths": [
"C:\\Temp\\keep*"
],
"safety": {
"allowRiskyWithoutForce": false
},
"behavior": {
"requireAdminForSystem": true
}
}| Setting | Description |
|---|---|
categories |
Enabled and disabled cleanup modules |
downloadsOlderThanDays |
Minimum age for files in Downloads |
logsOlderThanDays |
Minimum age for system logs |
excludePaths |
Files and folders protected from cleanup |
allowRiskyWithoutForce |
Allows risky categories without CLI --force |
requireAdminForSystem |
Requires elevation for system-level categories |
sunSweep/
├── sunSweep.ps1
├── sunSweep.standalone.ps1
│
├── Config/
│ └── default.json
│
├── Locales/
│ ├── en.json
│ └── ru.json
│
├── Core/
│ ├── Scanner
│ ├── Cleaner
│ ├── Reporter
│ ├── Menu
│ └── Engine
│
├── Modules/
│ ├── TempFiles
│ ├── WindowsTemp
│ ├── WindowsUpdate
│ ├── DeliveryOptimization
│ ├── BrowserCache
│ ├── RecycleBin
│ ├── ThumbnailCache
│ ├── ErrorReports
│ ├── Logs
│ ├── Prefetch
│ ├── DirectXCache
│ ├── Downloads
│ └── DevCache
│
└── Utils/
├── Format
├── FsHelper
├── I18n
├── Logger
├── Privileges
├── Interactive
└── UI
Each cleanup category is implemented as a separate module. This keeps scanning and cleanup logic easy to maintain and extend.
sunSweep assigns a safety level to every cleanup category.
| Level | Meaning |
|---|---|
safe |
Temporary data and caches that applications can recreate |
moderate |
Logs, optimization data and development caches |
risky |
User files that require explicit approval |
- Risky categories require explicit selection
- CLI cleanup of risky categories uses
--force --dry-runpreviews cleanup without removing files--excludeprotects matching paths- Locked files are skipped
- Files that cannot be removed are counted as failed operations
- System categories respect administrator requirements
A dry run reports the estimated result:
Would free: X
Tip
Use --dry-run after changing categories, thresholds or exclusions.
sunSweep detects the interface language through:
CurrentUICultureLocale selection:
ru* -> Russian
other -> English
English is used as the fallback language.
Localization files:
Locales/en.json
Locales/ru.json
- Windows 10 or Windows 11
- Windows PowerShell 5.1+
- No additional PowerShell modules
Administrator permissions are required for:
windows-temp
windows-update
delivery-optimization
logs
prefetch
Other supported categories can run with regular user permissions.
sunSweep помогает очищать Windows от временных файлов, кэша, старых журналов и других ненужных данных.
Проект запускается напрямую через PowerShell и не требует установки или дополнительных модулей.
Интерактивный интерфейс поддерживает управление с клавиатуры, выбор категорий, статистику очистки и анимацию солнца во время сканирования.
Tip
Перед первой очисткой запустите Dry Run Preview. sunSweep покажет, какие данные можно удалить и сколько места освободится.
Скачайте проект, откройте PowerShell в его папке и выполните:
powershell -ExecutionPolicy Bypass -File .\sunSweep.ps1Также можно использовать версию проекта в одном файле:
powershell -ExecutionPolicy Bypass -File .\sunSweep.standalone.ps1Последнюю standalone-версию можно запустить напрямую с GitHub:
powershell -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.com/lordofsunshine/sunSweep/refs/heads/main/sunSweep.standalone.ps1 | iex"Important
Перед запуском удаленного скрипта через iex рекомендуется проверить его содержимое.
| Возможность | Описание |
|---|---|
| Интерактивный TUI | Навигация с клавиатуры, чекбоксы и адаптивный интерфейс |
| Анимация сканирования | Вращающееся солнце во время проверки системы |
| 13 категорий очистки | Система, браузеры, хранилище и кэши инструментов разработки |
| Уровни безопасности | Каждая категория имеет уровень safe, moderate или risky |
| Предварительный просмотр | Проверка файлов и расчет свободного места до удаления |
| Автоматический язык | Русский для системной локали ru*, английский для остальных |
| Модульная структура | Каждая категория находится в отдельном PowerShell-модуле |
| CLI-режим | Сканирование и очистка из терминала и сценариев автоматизации |
| JSON-отчеты | Машиночитаемый результат сканирования через --json |
| Постоянные настройки | Пользовательский конфиг хранится в %APPDATA%\sunSweep\config.json |
| Исключения | Защита путей через --exclude |
| Проверка прав | Системные категории проверяют наличие прав администратора |
Меню подстраивается под ширину терминала.
При ширине меньше 55 символов дополнительные описания скрываются. Меню остается компактным и читаемым.
| Категория | Уровень | Администратор | По умолчанию |
|---|---|---|---|
| Временные файлы пользователя | safe |
Нет | Вкл |
| Windows Temp | safe |
Да | Вкл |
| Кэш Windows Update | moderate |
Да | Вкл |
| Delivery Optimization | safe |
Да | Вкл |
| Кэш браузеров | safe |
Нет | Вкл |
| Корзина | safe |
Нет | Вкл |
| Кэш миниатюр | safe |
Нет | Вкл |
| Отчеты об ошибках | safe |
Нет | Вкл |
| Системные журналы | moderate |
Да | Вкл |
| Prefetch | moderate |
Да | Выкл |
| Кэш шейдеров DirectX | safe |
Нет | Вкл |
| Старые загрузки | risky |
Нет | Выкл |
| Кэш разработки | moderate |
Нет | Выкл |
Система / Временные файлы пользователя safe
Очищает временные файлы, которые создают приложения.
Пути:
%TEMP%
%LOCALAPPDATA%\Temp
Пользовательская временная папка определяется через переменную окружения %TEMP%.
Система / Windows Temp safe · admin
Очищает системные временные файлы:
C:\Windows\Temp
Права администратора требуются при настройке:
"requireAdminForSystem": trueСистема / Кэш Windows Update moderate · admin
Очищает загруженные файлы Windows Update:
C:\Windows\SoftwareDistribution\Download
Windows сможет повторно загрузить необходимые файлы обновлений.
Система / Delivery Optimization safe · admin
Очищает кэш службы оптимизации доставки Windows.
Основные расположения:
C:\Windows\SoftwareDistribution\DeliveryOptimization
C:\Windows\ServiceProfiles\NetworkService\...\DeliveryOptimization\Cache
Браузеры / Кэш браузеров safe
Очищает кэш Chromium-браузеров и Firefox.
Для Chromium учитываются:
Cache
Cache_Data
Code Cache
GPUCache
Профили:
Default
Profile *
Поддерживаются:
- Google Chrome
- Microsoft Edge
- Brave
- Mozilla Firefox
Для Firefox очищаются:
cache2
startupCache
Профили ищутся через %LOCALAPPDATA% и %APPDATA%.
Хранилище / Корзина safe
Подсчитывает размер содержимого корзины и очищает ее.
sunSweep использует:
Shell.Application
Virtual folder 0xA
Размер определяется через item.Size.
Для очистки используется Clear-RecycleBin с COM fallback при необходимости.
Система / Кэш миниатюр safe
Очищает базы миниатюр Проводника:
%LOCALAPPDATA%\Microsoft\Windows\Explorer\thumbcache_*.db
Windows автоматически создаст необходимые файлы кэша снова.
Система / Отчеты об ошибках safe
Очищает архивные и ожидающие отправки отчеты Windows Error Reporting.
Пользовательские расположения:
%LOCALAPPDATA%\Microsoft\Windows\WER\ReportArchive
%LOCALAPPDATA%\Microsoft\Windows\WER\ReportQueue
Также учитываются системные данные в:
C:\ProgramData\Microsoft\Windows\WER\
при наличии необходимых прав.
Система / Системные журналы moderate · admin
Очищает старые журналы Windows из расположений:
C:\Windows\Logs
C:\Windows\Logs\CBS
C:\Windows\Debug
C:\Windows\inf\setupapi.offline*.log
Поддерживаемые расширения:
*.log
*.etl
*.evtx
Возраст файлов определяется настройкой:
"logsOlderThanDays": 7Система / Prefetch moderate · admin · выключено по умолчанию
Очищает данные Windows Prefetch:
C:\Windows\Prefetch\*.pf
Prefetch хранит данные для оптимизации запуска приложений. Windows постепенно создаст их снова во время использования программ.
Система / Кэш шейдеров DirectX safe
Очищает скомпилированный кэш шейдеров DirectX:
%LOCALAPPDATA%\D3DSCache
Драйвер видеокарты и приложения автоматически создают необходимые данные заново.
Хранилище / Старые загрузки risky · выключено по умолчанию
Проверяет файлы в:
~\Downloads
В очистку попадают файлы старше указанного срока.
Значение по умолчанию:
"downloadsOlderThanDays": 30В этой категории находятся пользовательские файлы, поэтому она требует явного выбора.
В интерактивном меню категорию нужно выбрать вручную.
Для очистки через CLI используется --force.
Разработка / Кэш разработки moderate · выключено по умолчанию
Очищает кэш пакетных менеджеров и инструментов разработки:
npm-cache
Yarn\Cache
pip\Cache
~\.cache\pip
~\.nuget\packages
~\.gradle\caches
NuGet\Cache
После очистки инструменты разработки могут повторно загрузить необходимые зависимости.
Запуск:
.\sunSweep.ps1Основные действия:
| Пункт | Действие |
|---|---|
| Scan & Clean | Сканирует систему и позволяет выбрать категории перед очисткой |
| Quick Clean | Очищает включенные категории safe и moderate |
| Dry Run Preview | Показывает возможный результат без удаления файлов |
| Categories | Управляет категориями очистки |
| Settings | Показывает и изменяет настройки |
| What gets cleaned | Показывает описание категорий внутри TUI |
Навигация выполняется с клавиатуры, категории выбираются чекбоксами.
.\sunSweep.ps1 --scan.\sunSweep.ps1 --scan --json > report.json.\sunSweep.ps1 --dry-run.\sunSweep.ps1 --categories temp-files,browser-cache --scan.\sunSweep.ps1 --clean.\sunSweep.ps1 --clean --force.\sunSweep.ps1 --exclude "C:\Temp\keep*" --clean --forceВключить категорию:
.\sunSweep.ps1 --enable downloadsВыключить категорию:
.\sunSweep.ps1 --disable prefetchПоказать категории:
.\sunSweep.ps1 --list-categoriesПоказать текущую конфигурацию:
.\sunSweep.ps1 --show-configСбросить пользовательские настройки:
.\sunSweep.ps1 --reset-configsunSweep.standalone.ps1 содержит весь проект в одном PowerShell-файле.
Локальный запуск:
powershell -ExecutionPolicy Bypass -File .\sunSweep.standalone.ps1Запуск последней версии напрямую с GitHub:
powershell -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.com/lordofsunshine/sunSweep/main/sunSweep.standalone.ps1 | iex"Настройки по умолчанию:
Config/default.json
Пользовательские настройки:
%APPDATA%\sunSweep\config.json
Пользовательский конфиг переопределяет соответствующие значения из настроек по умолчанию.
Пример:
{
"categories": {
"temp-files": true,
"prefetch": false,
"downloads": false
},
"thresholds": {
"downloadsOlderThanDays": 30,
"logsOlderThanDays": 7
},
"excludePaths": [
"C:\\Temp\\keep*"
],
"safety": {
"allowRiskyWithoutForce": false
},
"behavior": {
"requireAdminForSystem": true
}
}| Параметр | Описание |
|---|---|
categories |
Включенные и выключенные модули очистки |
downloadsOlderThanDays |
Минимальный возраст файлов в Downloads |
logsOlderThanDays |
Минимальный возраст системных журналов |
excludePaths |
Файлы и папки, защищенные от очистки |
allowRiskyWithoutForce |
Разрешение risky-категорий без CLI-флага --force |
requireAdminForSystem |
Требование прав администратора для системных категорий |
sunSweep/
├── sunSweep.ps1
├── sunSweep.standalone.ps1
│
├── Config/
│ └── default.json
│
├── Locales/
│ ├── en.json
│ └── ru.json
│
├── Core/
│ ├── Scanner
│ ├── Cleaner
│ ├── Reporter
│ ├── Menu
│ └── Engine
│
├── Modules/
│ ├── TempFiles
│ ├── WindowsTemp
│ ├── WindowsUpdate
│ ├── DeliveryOptimization
│ ├── BrowserCache
│ ├── RecycleBin
│ ├── ThumbnailCache
│ ├── ErrorReports
│ ├── Logs
│ ├── Prefetch
│ ├── DirectXCache
│ ├── Downloads
│ └── DevCache
│
└── Utils/
├── Format
├── FsHelper
├── I18n
├── Logger
├── Privileges
├── Interactive
└── UI
Каждая категория очистки реализована отдельным модулем. Такая структура упрощает поддержку и добавление новых категорий.
Каждая категория sunSweep имеет свой уровень безопасности.
| Уровень | Что входит |
|---|---|
safe |
Временные данные и кэш, которые приложения могут создать снова |
moderate |
Журналы, данные оптимизации и кэши инструментов разработки |
risky |
Пользовательские файлы, для которых требуется явное подтверждение |
- Risky-категории требуют явного выбора
- Для risky-категорий в CLI используется
--force --dry-runпоказывает результат без удаления файлов--excludeзащищает подходящие под шаблон пути- Заблокированные и используемые файлы пропускаются
- Файлы, которые не удалось удалить, учитываются как неудачные операции
- Системные категории проверяют наличие прав администратора
Предварительный просмотр показывает расчетное значение:
Would free: X
Tip
Запускайте --dry-run после изменения категорий, ограничений или исключений.
sunSweep определяет язык интерфейса через:
CurrentUICultureПравило выбора:
ru* -> Русский
other -> English
Английский используется как резервная локаль.
Файлы переводов:
Locales/en.json
Locales/ru.json
- Windows 10 или Windows 11
- Windows PowerShell 5.1+
- Дополнительные PowerShell-модули не требуются
Права администратора нужны для категорий:
windows-temp
windows-update
delivery-optimization
logs
prefetch
Остальные поддерживаемые категории могут работать с обычными правами пользователя.
