Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΡ€Π·ΠΈΠ½ΡƒΠŸΠΎΠ·Π²ΠΎΠ½ΠΈΡ‚ΡŒ
Найти Π² Π”Π·Π΅Π½Π΅
Настройки Windows

πŸ—‘οΈ Умная очистка Temp Π² Windows: Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ PowerShell-скрипт для подписчиков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сам Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ.

βš™οΈ Π­Ρ‚ΠΎΡ‚ скрипт β€” лишь малая Ρ‡Π°ΡΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Windows. На ΠΊΠ°Π½Π°Π»Π΅ "Настройки Windows" ΠΌΡ‹ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ нСдСлю Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ инструмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Ρ‡Π°ΡΠΎΠ²ΡƒΡŽ Ρ€ΡƒΡ‚ΠΈΠ½Ρƒ Π² ΠΏΠ°Ρ€Ρƒ ΠΊΠ»ΠΈΠΊΠΎΠ². πŸ›‘οΈ Π’Π—ΠΠžΠ‘ Π’ Π ΠΠ—Π’Π˜Π’Π˜Π• ΠšΠΠΠΠ›Π И Π‘ΠžΠ—Π”ΠΠΠ˜Π• ΠŸΠžΠ›Π•Π—ΠΠ«Π₯ Π‘ΠšΠ Π˜ΠŸΠ’ΠžΠ’ πŸ›‘οΈ # ═══════════════════════════════════════════════════════════════
# ️ PROFESSIONAL TEMP CLEANER v3.0 β€” Π˜ΠΠ’Π•Π ΠΠšΠ’Π˜Π’ΠΠ«Π™
# БовмСстим: Windows 10 (1903+) / Windows 11 (всС вСрсии)
# PowerShell: 5.1+ / 7.x
# ═══════════════════════════════════════════════════════════════
# ═══════════════════════════════════════════════════════════════
# ΠΠ’Π’ΠžΠœΠΠ’Π˜Π§Π•Π‘ΠšΠ˜Π™ Π—ΠΠŸΠ ΠžΠ‘ ΠŸΠ ΠΠ’ ΠΠ”ΠœΠ˜ΠΠ˜Π‘Π’Π ΠΠ’ΠžΠ Π
# ═══════════════════════════════════════════════════════════════
$isAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
if (-not $isAdmin) {
Write-Host "⚠️ Π’Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΠΏΡ€Π°Π²Π° администратора. Π—Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽ..." -ForegroundColor Yellow
Write-

βš™οΈ Π­Ρ‚ΠΎΡ‚ скрипт β€” лишь малая Ρ‡Π°ΡΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Windows. На ΠΊΠ°Π½Π°Π»Π΅ "Настройки Windows" ΠΌΡ‹ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ нСдСлю Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ инструмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Ρ‡Π°ΡΠΎΠ²ΡƒΡŽ Ρ€ΡƒΡ‚ΠΈΠ½Ρƒ Π² ΠΏΠ°Ρ€Ρƒ ΠΊΠ»ΠΈΠΊΠΎΠ².

πŸ›‘οΈ Π’Π—ΠΠžΠ‘ Π’ Π ΠΠ—Π’Π˜Π’Π˜Π• ΠšΠΠΠΠ›Π И Π‘ΠžΠ—Π”ΠΠΠ˜Π• ΠŸΠžΠ›Π•Π—ΠΠ«Π₯ Π‘ΠšΠ Π˜ΠŸΠ’ΠžΠ’ πŸ›‘οΈ

-2
-3
# ═══════════════════════════════════════════════════════════════
# ️ PROFESSIONAL TEMP CLEANER v3.0 β€” Π˜ΠΠ’Π•Π ΠΠšΠ’Π˜Π’ΠΠ«Π™
# БовмСстим: Windows 10 (1903+) / Windows 11 (всС вСрсии)
# PowerShell: 5.1+ / 7.x
# ═══════════════════════════════════════════════════════════════

# ═══════════════════════════════════════════════════════════════
# ΠΠ’Π’ΠžΠœΠΠ’Π˜Π§Π•Π‘ΠšΠ˜Π™ Π—ΠΠŸΠ ΠžΠ‘ ΠŸΠ ΠΠ’ ΠΠ”ΠœΠ˜ΠΠ˜Π‘Π’Π ΠΠ’ΠžΠ Π
# ═══════════════════════════════════════════════════════════════
$isAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)

if (-not $isAdmin) {
Write-Host "⚠️ Π’Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΠΏΡ€Π°Π²Π° администратора. Π—Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽ..." -ForegroundColor Yellow
Write-Host ""

$scriptPath = $MyInvocation.MyCommand.Path

if ($scriptPath) {
Start-Process powershell -Verb RunAs -ArgumentList "-ExecutionPolicy Bypass -File `"$scriptPath`""
exit
} else {
# Если скрипт Π·Π°ΠΏΡƒΡ‰Π΅Π½ ΠΈΠ· консоли (Π½Π΅ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°)
Write-Host " Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ сохранён Π² Ρ„Π°ΠΉΠ» для автозапроса ΠΏΡ€Π°Π²." -ForegroundColor Red
Write-Host "πŸ’‘ Или запуститС PowerShell ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Администратора Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ." -ForegroundColor Yellow
Write-Host ""
Write-Host "НаТмитС Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ для Π²Ρ‹Ρ…ΠΎΠ΄Π°..." -ForegroundColor DarkGray
$null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
exit
}
}

# ═══════════════════════════════════════════════════════════════
# ЀУНКЦИИ
# ═══════════════════════════════════════════════════════════════
function Get-FolderSize {
param([string]$Path)
if (Test-Path $Path) {
$size = (Get-ChildItem -Path $Path -Recurse -Force -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum -ErrorAction SilentlyContinue).Sum
return [math]::Round($size / 1MB, 2)
}
return 0
}

function Format-Size {
param([double]$MB)
if ($MB -ge 1024) {
return "$([math]::Round($MB / 1024, 2)) GB"
}
return "$MB MB"
}

function Show-Menu {
Write-Host ""
Write-Host "══════════════════════════════════════════════════════" -ForegroundColor Cyan
Write-Host "β•‘ πŸ—‘οΈ PROFESSIONAL TEMP CLEANER v3.0 β•‘" -ForegroundColor Cyan
Write-Host "══════════════════════════════════════════════════════" -ForegroundColor Cyan
Write-Host ""
Write-Host " [1] 🧹 Бтандартная очистка (бСзопасно)" -ForegroundColor White
Write-Host " [2] Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ извСстныС процСссы ΠΈ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ" -ForegroundColor Yellow
Write-Host " [3] πŸ’₯ ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ очистка (Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ всё ΠΊΡ€ΠΎΠΌΠ΅ систСмных)" -ForegroundColor Red
Write-Host " [4] ℹ️ ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Temp-ΠΏΠ°ΠΏΠΊΠ°Ρ…" -ForegroundColor Cyan
Write-Host " [5] πŸšͺ Π’Ρ‹Ρ…ΠΎΠ΄" -ForegroundColor Gray
Write-Host ""
Write-Host "══════════════════════════════════════════════════════" -ForegroundColor DarkGray
Write-Host ""
}

function Get-BlockingProcesses {
$knownProcesses = @(
@{Name = "chrome"; DisplayName = "Google Chrome"},
@{Name = "msedge"; DisplayName = "Microsoft Edge"},
@{Name = "firefox"; DisplayName = "Mozilla Firefox"},
@{Name = "brave"; DisplayName = "Brave Browser"},
@{Name = "opera"; DisplayName = "Opera"},
@{Name = "vivaldi"; DisplayName = "Vivaldi"},
@{Name = "iexplore"; DisplayName = "Internet Explorer"},
@{Name = "msiexec"; DisplayName = "Windows Installer"},
@{Name = "setup"; DisplayName = "Setup/Installers"},
@{Name = "winword"; DisplayName = "Microsoft Word"},
@{Name = "excel"; DisplayName = "Microsoft Excel"},
@{Name = "powerpnt"; DisplayName = "Microsoft PowerPoint"},
@{Name = "outlook"; DisplayName = "Microsoft Outlook"},
@{Name = "teams"; DisplayName = "Microsoft Teams"},
@{Name = "slack"; DisplayName = "Slack"},
@{Name = "discord"; DisplayName = "Discord"},
@{Name = "spotify"; DisplayName = "Spotify"},
@{Name = "steam"; DisplayName = "Steam"},
@{Name = "epicgameslauncher"; DisplayName = "Epic Games Launcher"},
@{Name = "origin"; DisplayName = "Origin/EA App"},
@{Name = "updater"; DisplayName = "Various Updaters"},
@{Name = "java"; DisplayName = "Java"},
@{Name = "javaw"; DisplayName = "Java (GUI)"},
@{Name = "python"; DisplayName = "Python"},
@{Name = "node"; DisplayName = "Node.js"},
@{Name = "code"; DisplayName = "Visual Studio Code"},
@{Name = "devenv"; DisplayName = "Visual Studio"}
)

$blocking = @()
foreach ($proc in $knownProcesses) {
$running = Get-Process -Name $proc.Name -ErrorAction SilentlyContinue
if ($running) {
$blocking += @{
ProcessName = $proc.Name
DisplayName = $proc.DisplayName
Count = $running.Count
Processes = $running
}
}
}
return $blocking
}

function Stop-ProcessesInteractive {
param([array]$Processes, [string]$Mode)

if ($Processes.Count -eq 0) {
Write-Host "βœ… НСт процСссов для закрытия" -ForegroundColor Green
return
}

Write-Host ""
Write-Host "πŸ” НайдСны процСссы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Temp-Ρ„Π°ΠΉΠ»Ρ‹:" -ForegroundColor Yellow
Write-Host ""

$index = 1
foreach ($proc in $Processes) {
Write-Host " [$index] $($proc.DisplayName) ($($proc.ProcessName)) β€” $($proc.Count) экз." -ForegroundColor White
$index++
}

Write-Host ""

if ($Mode -eq "selective") {
Write-Host "Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€Π° процСссов Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ для закрытия (ΠΈΠ»ΠΈ 'all' для всСх, 'skip' для пропуска): " -ForegroundColor Cyan -NoNewline
$choice = Read-Host

if ($choice -eq "skip") {
Write-Host "⏭️ ΠŸΡ€ΠΎΠΏΡƒΡΠΊ закрытия процСссов" -ForegroundColor Yellow
return
}

$toStop = @()
if ($choice -eq "all") {
$toStop = $Processes
} else {
$indices = $choice -split "," | ForEach-Object { [int]($_.Trim()) }
foreach ($idx in $indices) {
if ($idx -ge 1 -and $idx -le $Processes.Count) {
$toStop += $Processes[$idx - 1]
}
}
}

foreach ($proc in $toStop) {
Write-Host "️ Π—Π°ΠΊΡ€Ρ‹Π²Π°ΡŽ $($proc.DisplayName)..." -ForegroundColor Yellow
$proc.Processes | Stop-Process -Force -ErrorAction SilentlyContinue
Start-Sleep -Milliseconds 500
}
} elseif ($Mode -eq "force") {
Write-Host "⚑ ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ всСх процСссов..." -ForegroundColor Red
foreach ($proc in $Processes) {
Write-Host "⏹️ Π—Π°ΠΊΡ€Ρ‹Π²Π°ΡŽ $($proc.DisplayName)..." -ForegroundColor Yellow
$proc.Processes | Stop-Process -Force -ErrorAction SilentlyContinue
Start-Sleep -Milliseconds 300
}
}

Write-Host "βœ… ΠŸΡ€ΠΎΡ†Π΅ΡΡΡ‹ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹" -ForegroundColor Green
Start-Sleep -Seconds 1
}

function Clear-TempFiles {
param([string]$Mode)

$tempPaths = @(
@{Path = $env:TEMP; Name = "ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Temp"},
@{Path = "$env:LOCALAPPDATA\Temp"; Name = "Local AppData Temp"},
@{Path = "$env:windir\Temp"; Name = "БистСмный Temp (Windows)"}
)

Write-Host ""
Write-Host "══════════════════════════════════════════════════════" -ForegroundColor DarkGray
Write-Host "πŸ“Š БВАВИБВИКА Π”Πž ОЧИБВКИ:" -ForegroundColor Cyan
Write-Host "══════════════════════════════════════════════════════" -ForegroundColor DarkGray
Write-Host ""

$totalBefore = 0
foreach ($temp in $tempPaths) {
$size = Get-FolderSize -Path $temp.Path
$totalBefore += $size
$status = if (Test-Path $temp.Path) { "βœ… НайдСна" } else { "❌ НС Π½Π°ΠΉΠ΄Π΅Π½Π°" }
Write-Host " $($temp.Name):" -ForegroundColor White
Write-Host " ΠŸΡƒΡ‚ΡŒ: $($temp.Path)" -ForegroundColor Gray
Write-Host " Π Π°Π·ΠΌΠ΅Ρ€: $(Format-Size $size)" -ForegroundColor Yellow
Write-Host " Бтатус: $status" -ForegroundColor Green
Write-Host ""
}

Write-Host "πŸ“Š ΠžΠ±Ρ‰ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Temp-Ρ„Π°ΠΉΠ»ΠΎΠ²: $(Format-Size $totalBefore)" -ForegroundColor Magenta
Write-Host ""

# Π—Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ процСссы Π² зависимости ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌΠ°
if ($Mode -eq "standard") {
Write-Host "🧹 Π Π΅ΠΆΠΈΠΌ: Бтандартная очистка (Π±Π΅Π· закрытия процСссов)" -ForegroundColor Green
} elseif ($Mode -eq "selective") {
Write-Host " Π Π΅ΠΆΠΈΠΌ: Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… процСссов" -ForegroundColor Yellow
$blocking = Get-BlockingProcesses
Stop-ProcessesInteractive -Processes $blocking -Mode "selective"
} elseif ($Mode -eq "force") {
Write-Host " Π Π΅ΠΆΠΈΠΌ: ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ очистка" -ForegroundColor Red
$blocking = Get-BlockingProcesses
Stop-ProcessesInteractive -Processes $blocking -Mode "force"
}

Write-Host ""
Write-Host "πŸ”„ НачинаСм очистку..." -ForegroundColor Green
Write-Host "══════════════════════════════════════════════════════" -ForegroundColor DarkGray
Write-Host ""

$totalDeleted = 0
$totalSkipped = 0
$totalErrors = 0

foreach ($temp in $tempPaths) {
if (-not (Test-Path $temp.Path)) { continue }

Write-Host "πŸ” ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ: $($temp.Name)" -ForegroundColor Cyan

# УдаляСм Ρ„Π°ΠΉΠ»Ρ‹
Get-ChildItem -Path $temp.Path -Recurse -Force -ErrorAction SilentlyContinue | Where-Object { !$_.PSIsContainer } | ForEach-Object {
try {
Remove-Item -Path $_.FullName -Force -ErrorAction Stop
$totalDeleted++
}
catch {
if ($_.Exception.Message -match "being used by another process|Access to the path") {
$totalSkipped++
} else {
$totalErrors++
}
}
}

# УдаляСм пустыС ΠΏΠ°ΠΏΠΊΠΈ
Get-ChildItem -Path $temp.Path -Recurse -Force -Directory -ErrorAction SilentlyContinue |
Sort-Object { $_.FullName.Length } -Descending |
ForEach-Object {
try {
$items = Get-ChildItem -Path $_.FullName -Recurse -Force -ErrorAction SilentlyContinue
if ($items.Count -eq 0) {
Remove-Item -Path $_.FullName -Force -ErrorAction Stop
}
}
catch {
$totalSkipped++
}
}

$sizeAfter = Get-FolderSize -Path $temp.Path
$freed = $size - $sizeAfter
if ($freed -gt 0) {
Write-Host " βœ… ОсвобоТдСно: $(Format-Size $freed)" -ForegroundColor Green
} else {
Write-Host " ️ Π€Π°ΠΉΠ»Ρ‹ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ процСссами" -ForegroundColor Yellow
}
Write-Host ""
}

# Π˜Ρ‚ΠΎΠ³ΠΎΠ²Π°Ρ статистика
$totalAfter = 0
foreach ($temp in $tempPaths) {
$totalAfter += Get-FolderSize -Path $temp.Path
}

Write-Host "══════════════════════════════════════════════════════" -ForegroundColor DarkGray
Write-Host "πŸ“Š РЕЗУЛЬВАВЫ ОЧИБВКИ:" -ForegroundColor Magenta
Write-Host " βœ… Π£Π΄Π°Π»Π΅Π½ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²: $totalDeleted" -ForegroundColor Green
Write-Host " ⏳ ΠŸΡ€ΠΎΠΏΡƒΡ‰Π΅Π½ΠΎ (Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΎ): $totalSkipped" -ForegroundColor Yellow
Write-Host " ❌ Ошибок: $totalErrors" -ForegroundColor Red
Write-Host ""
Write-Host "πŸ’Ύ Π‘Ρ‹Π»ΠΎ: $(Format-Size $totalBefore)" -ForegroundColor White
Write-Host "πŸ’Ύ Π‘Ρ‚Π°Π»ΠΎ: $(Format-Size $totalAfter)" -ForegroundColor White
Write-Host "πŸš€ ОсвобоТдСно: $(Format-Size ($totalBefore - $totalAfter))" -ForegroundColor Green
Write-Host ""

if ($totalSkipped -gt 0) {
Write-Host "πŸ’‘ Π‘ΠΎΠ²Π΅Ρ‚: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΆΠΈΠΌ [2] ΠΈΠ»ΠΈ [3] для закрытия Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… процСссов" -ForegroundColor Cyan
Write-Host ""
}

Write-Host "✨ ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°!" -ForegroundColor Green
}

function Show-TempInfo {
Write-Host ""
Write-Host "══════════════════════════════════════════════════════" -ForegroundColor Cyan
Write-Host "ℹ️ ИНЀОРМАЦИЯ О TEMP-ПАПКАΠ₯" -ForegroundColor Cyan
Write-Host "══════════════════════════════════════════════════════" -ForegroundColor Cyan
Write-Host ""

$tempPaths = @(
@{Path = $env:TEMP; Name = "ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Temp"},
@{Path = "$env:LOCALAPPDATA\Temp"; Name = "Local AppData Temp"},
@{Path = "$env:windir\Temp"; Name = "БистСмный Temp (Windows)"}
)

foreach ($temp in $tempPaths) {
if (Test-Path $temp.Path) {
$size = Get-FolderSize -Path $temp.Path
$fileCount = (Get-ChildItem -Path $temp.Path -Recurse -Force -ErrorAction SilentlyContinue | Measure-Object).Count
$folderCount = (Get-ChildItem -Path $temp.Path -Recurse -Force -Directory -ErrorAction SilentlyContinue | Measure-Object).Count

Write-Host "πŸ“‚ $($temp.Name)" -ForegroundColor White
Write-Host " ΠŸΡƒΡ‚ΡŒ: $($temp.Path)" -ForegroundColor Gray
Write-Host " Π Π°Π·ΠΌΠ΅Ρ€: $(Format-Size $size)" -ForegroundColor Yellow
Write-Host " Π€Π°ΠΉΠ»ΠΎΠ²: $fileCount" -ForegroundColor Cyan
Write-Host " Папок: $folderCount" -ForegroundColor Cyan
Write-Host ""
}
}

Write-Host "πŸ” ΠŸΡ€ΠΎΡ†Π΅ΡΡΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Temp:" -ForegroundColor Yellow
$blocking = Get-BlockingProcesses
if ($blocking.Count -gt 0) {
foreach ($proc in $blocking) {
Write-Host " βš™οΈ $($proc.DisplayName) ($($proc.ProcessName)) β€” $($proc.Count) экз." -ForegroundColor White
}
} else {
Write-Host " βœ… НСт Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… процСссов" -ForegroundColor Green
}
Write-Host ""
}

# ═══════════════════════════════════════════════════════════════
# ГЛАВНЫЙ Π¦Π˜ΠšΠ›
# ═══════════════════════════════════════════════════════════════
Clear-Host

do {
Show-Menu
Write-Host "Π’Π°Ρˆ Π²Ρ‹Π±ΠΎΡ€: " -ForegroundColor Cyan -NoNewline
$choice = Read-Host

switch ($choice) {
"1" {
Clear-TempFiles -Mode "standard"
}
"2" {
Clear-TempFiles -Mode "selective"
}
"3" {
Write-Host ""
Write-Host "⚠️ Π’ΠΠ˜ΠœΠΠΠ˜Π•: Π­Ρ‚ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌ Π·Π°ΠΊΡ€ΠΎΠ΅Ρ‚ Π’Π‘Π• процСссы ΠΊΡ€ΠΎΠΌΠ΅ систСмных!" -ForegroundColor Red
Write-Host "πŸ’Ύ Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ всС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ΠΌ!" -ForegroundColor Yellow
Write-Host ""
Write-Host "ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ? (y/n): " -ForegroundColor Red -NoNewline
$confirm = Read-Host
if ($confirm -eq "y" -or $confirm -eq "Y") {
Clear-TempFiles -Mode "force"
} else {
Write-Host "❌ ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ ΠΎΡ‚ΠΌΠ΅Π½Π΅Π½Π°" -ForegroundColor Yellow
}
}
"4" {
Show-TempInfo
}
"5" {
Write-Host ""
Write-Host "πŸ‘‹ Π”ΠΎ свидания!" -ForegroundColor Green
Write-Host ""
exit
}
default {
Write-Host ""
Write-Host "❌ НСвСрный Π²Ρ‹Π±ΠΎΡ€. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ снова." -ForegroundColor Red
}
}

Write-Host ""
Write-Host "НаТмитС Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Π² мСню..." -ForegroundColor DarkGray
$null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
Clear-Host

} while ($true)
  • πŸ”” Подпишись, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π±Π΅Π· лишнСй Π²ΠΎΠ΄Ρ‹ ΠΈ скрытых настроСк ΠΈ скинь этот скрипт Π΄Ρ€ΡƒΠ³Ρƒ, Ρ‡Π΅ΠΉ ПК ΡƒΠΆΠ΅ задыхаСтся ΠΎΡ‚ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ΠΎΠ² кэша β€” Ρ‚ΠΎΡ‡Π½ΠΎ скаТСт спасибо!
-4

πŸ’³ Π”ΠΎΠ½Π°Ρ‚ Ρ‡Π΅Ρ€Π΅Π· Ozon (ΠΎΡ‚ 10 β‚½. ΠŸΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΡŒ: АлСксандр Π“.)

✴️ Π”ΠΎΡ€ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ·ΡŒΡ. Если ΡΡ‚Π°Ρ‚ΡŒΡ оказалась ΠΏΠΎΠ»Π΅Π·Π½Π°, ΠΎΠ΄Π½Π° БВЕЛЛА ΠΎΡ‚ вас = мощная Ρ€Π΅ΠΊΠ»Π°ΠΌΠ° для сотСн людСй. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ быстрСС! ✴️

Π‘ ΡƒΠ²Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. АлСксандр, ΠΊΠ°Π½Π°Π» "Настройки Windows" Π½Π° ЯндСкс.Π”Π·Π΅Π½

БКРИПВЫ | Настройки Windows | Π”Π·Π΅Π½