Última atividade 22 hours ago

Revisão a882adc67d62991539ea755a4d897409b9ad00aa

Windows_Cleaner.bat Bruto
1@echo off
2setlocal enabledelayedexpansion
3
4:: ============================================================
5:: Професионален инструмент за почистване на Windows
6:: Version: 2.0
7:: Author: Федя Серафиев
8:: ============================================================
9
10title Windows System Cleaner - Professional Tool
11color 0E
12
13:: Проверка за администраторски права
14net session >nul 2>&1
15if %errorLevel% neq 0 (
16 color 0C
17 echo ============================================================
18 echo ГРЕШКА: Липсват администраторски права!
19 echo ============================================================
20 echo.
21 echo Моля, стартирайте скрипта с "Run as Administrator"
22 echo (Кликнете с десен бутон върху файла)
23 echo.
24 pause
25 exit /b 1
26)
27
28:: Създаване на лог файл
29set LOGFILE=%userprofile%\Desktop\Windows_Cleaner_Log_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%time:~0,2%%time:~3,2%%time:~6,2%.txt
30set LOGFILE=%LOGFILE: =0%
31
32:: Изчисляване на свободното място преди почистване
33call :GetFreeSpace "BEFORE"
34set FREE_BEFORE=%FREE_SPACE%
35
36cls
37echo ============================================================
38echo.
39echo WINDOWS SYSTEM CLEANER - PROFESSIONAL TOOL
40echo.
41echo ============================================================
42echo.
43echo Дата: %date%
44echo Час: %time%
45echo Лог файл: %LOGFILE%
46echo.
47echo ============================================================
48echo.
49echo Изчисляване на свободното място...
50echo.
51echo Свободно място ПРЕДИ почистване: %FREE_BEFORE%
52echo.
53echo ============================================================
54echo.
55echo Изберете режим на работа:
56echo.
57echo [1] Стандартно почистване (Препоръчително)
58echo [2] Пълно почистване (Включва System Restore точки)
59echo [3] Само преглед (Какво ще бъде изтрито)
60echo [4] Изход
61echo.
62choice /c 1234 /n /m "Вашият избор [1-4]: "
63
64if errorlevel 4 exit /b 0
65if errorlevel 3 goto :PreviewMode
66if errorlevel 2 goto :FullClean
67if errorlevel 1 goto :StandardClean
68
69:StandardClean
70set CLEAN_MODE="STANDARD"
71goto :StartClean
72
73:FullClean
74set CLEAN_MODE="FULL"
75goto :StartClean
76
77:PreviewMode
78echo.
79echo ============================================================
80echo ПРЕГЛЕД НА ФАЙЛОВЕТЕ ЗА ИЗТРИВАНЕ
81echo ============================================================
82echo.
83echo Файлове в Prefetch:
84dir /s /b %SystemRoot%\Prefetch\*.pf 2>nul | find /c ".pf"
85echo.
86echo Файлове в Windows Temp:
87dir /s /b C:\Windows\Temp\*.* 2>nul | find /c "\"
88echo.
89echo Файлове в User Temp:
90dir /s /b %temp%\*.* 2>nul | find /c "\"
91echo.
92echo DNS Cache ще бъде изчистен
93if /i "%CLEAN_MODE%"=="FULL" echo System Restore точки ще бъдат изтрити
94echo.
95pause
96goto :StandardClean
97
98:StartClean
99(
100 echo ============================================================
101 echo WINDOWS CLEANER LOG - %date% %time%
102 echo ============================================================
103 echo.
104 echo Режим: %CLEAN_MODE%
105 echo.
106) >> "%LOGFILE%"
107
108cls
109echo ============================================================
110echo.
111echo WINDOWS SYSTEM CLEANER - ПРОФЕСИОНАЛНА ВЕРСИЯ
112echo.
113echo ============================================================
114echo.
115echo Лог файлът се записва на Desktop
116echo.
117echo ============================================================
118echo.
119echo [*] Започване на почистването... (%time%)
120echo.
121echo ============================================================
122
123:: 1. DNS Cache
124echo [1/8] Изчистване на DNS кеш...
125ipconfig /flushdns >nul 2>&1
126if %errorLevel% equ 0 (
127 echo [УСПЕХ] DNS кешът е изчистен успешно
128 echo [1/8] УСПЕХ - DNS Cache изчистен >> "%LOGFILE%"
129) else (
130 echo [ГРЕШКА] Проблем с изчистването на DNS кеша
131 echo [1/8] ГРЕШКА - DNS Cache >> "%LOGFILE%"
132)
133
134:: 2. Prefetch
135echo [2/8] Почистване на Prefetch папка...
136del /q /f /s %SystemRoot%\Prefetch\*.* 2>nul
137echo [УСПЕХ] Prefetch файловете са изтрити
138echo [2/8] УСПЕХ - Prefetch изчистен >> "%LOGFILE%"
139
140:: 3. Windows Temp
141echo [3/8] Почистване на системния Temp...
142del /q /f /s C:\Windows\Temp\*.* 2>nul
143for /d %%i in (C:\Windows\Temp\*) do rd /s /q "%%i" 2>nul
144echo [УСПЕХ] Системният Temp е изчистен
145echo [3/8] УСПЕХ - Windows Temp изчистен >> "%LOGFILE%"
146
147:: 4. User Temp
148echo [4/8] Почистване на потребителския Temp...
149del /q /f /s %temp%\*.* 2>nul
150for /d %%i in (%temp%\*) do rd /s /q "%%i" 2>nul
151echo [УСПЕХ] Потребителският Temp е изчистен
152echo [4/8] УСПЕХ - User Temp изчистен >> "%LOGFILE%"
153
154:: 5. Internet Cache
155echo [5/8] Почистване на Internet кеш...
156del /q /f /s "%userprofile%\AppData\Local\Microsoft\Windows\INetCache\*.*" 2>nul
157rd /s /q "%userprofile%\AppData\Local\Microsoft\Windows\INetCache" 2>nul
158echo [УСПЕХ] Internet кешът е изчистен
159echo [5/8] УСПЕХ - Internet Cache изчистен >> "%LOGFILE%"
160
161:: 6. Windows Update Cache
162echo [6/8] Почистване на Windows Update кеш...
163del /q /f /s "C:\Windows\SoftwareDistribution\Download\*.*" 2>nul
164for /d %%i in ("C:\Windows\SoftwareDistribution\Download\*") do rd /s /q "%%i" 2>nul
165echo [УСПЕХ] Windows Update кешът е изчистен
166echo [6/8] УСПЕХ - Windows Update Cache изчистен >> "%LOGFILE%"
167
168:: 7. Recycle Bin
169echo [7/8] Изпразване на Кошчето за текущия потребител...
170rd /s /q %systemdrive%\$Recycle.Bin\%username% 2>nul
171echo [УСПЕХ] Кошчето е изпразнено
172echo [7/8] УСПЕХ - Recycle Bin изчистен >> "%LOGFILE%"
173
174:: 8. System Restore Points (само при пълен режим)
175if /i "%CLEAN_MODE%"=="FULL" (
176 echo [8/8] Изтриване на старите System Restore точки...
177 vssadmin delete shadows /all /quiet >nul 2>&1
178 echo [УСПЕХ] Старите restore точки са изтрити
179 echo [8/8] УСПЕХ - System Restore Points изтрити >> "%LOGFILE%"
180) else (
181 echo [8/8] Пропуснато - System Restore точки (не е избран FULL режим)
182 echo [8/8] ПРОПУСНАТО - System Restore Points >> "%LOGFILE%"
183)
184
185:: Изчисляване на свободното място след почистване
186call :GetFreeSpace "AFTER"
187set FREE_AFTER=%FREE_SPACE%
188
189:: Изчисляване на освободеното място (байтове)
190set FREE_BEFORE_CLEAN=%FREE_BEFORE:,=%
191set FREE_AFTER_CLEAN=%FREE_AFTER:,=%
192set /a FREED_SPACE=%FREE_AFTER_CLEAN% - %FREE_BEFORE_CLEAN%
193
194:: Конвертиране в GB/MB
195set FREED_GB=%FREED_SPACE:~0,-9%
196if "!FREED_GB!"=="" set FREED_GB=0
197set FREED_MB=%FREED_SPACE:~0,-6%
198if "!FREED_MB!"=="" set FREED_MB=0
199
200echo.
201echo ============================================================
202echo РЕЗУЛТАТИ ОТ ПОЧИСТВАНЕТО
203echo ============================================================
204echo.
205echo Свободно място преди: %FREE_BEFORE%
206echo Свободно място след: %FREE_AFTER%
207echo.
208if %FREED_SPACE% gtr 1073741824 (
209 set /a FREED_GB_DISP=%FREED_SPACE%/1073741824
210 echo ^>^> Освободени: !FREED_GB_DISP! GB ^<^<
211) else if %FREED_SPACE% gtr 1048576 (
212 set /a FREED_MB_DISP=%FREED_SPACE%/1048576
213 echo ^>^> Освободени: !FREED_MB_DISP! MB ^<^<
214) else (
215 echo ^>^> Освободени: %FREED_SPACE% байта ^<^<
216)
217echo.
218echo ============================================================
219echo Статус: ПОЧИСТВАНЕТО ПРИКЛЮЧИ УСПЕШНО!
220echo ============================================================
221echo.
222echo Лог файлът е запазен на Desktop
223echo.
224echo Препоръчва се рестартиране на компютъра за най-добри резултати.
225echo.
226echo ============================================================
227
228(
229 echo.
230 echo ============================================================
231 echo РЕЗУЛТАТИ ОТ ПОЧИСТВАНЕТО
232 echo ============================================================
233 echo Свободно място преди: %FREE_BEFORE%
234 echo Свободно място след: %FREE_AFTER%
235 echo Освободено място: %FREED_SPACE% байта
236 echo ============================================================
237) >> "%LOGFILE%"
238
239echo.
240pause
241exit /b 0
242
243:: ============================================================
244:: Функция за изчисляване на свободното място
245:: ============================================================
246:GetFreeSpace
247for /f "tokens=3" %%a in ('dir %systemdrive%\ 2^>nul ^| find "bytes free"') do set FREE_SPACE=%%a
248exit /b 0