C 盘瘦身(脚本 + 工具)

#程序员C盘瘦身大赛#

一、核心清理思路与安全准则

C 盘臃肿的本质是冗余数据堆积,包括临时文件、系统缓存、日志、未卸载干净的残留文件等。极客清理的核心是精准定位可删除文件,通过脚本自动化执行,结合系统工具深度清理,同时避免误删关键系统文件。

安全准则

  • 清理前备份重要数据(如桌面、文档),避免误操作导致损失。
  • 脚本执行需管理员权限(右键 PowerShell→“以管理员身份运行”)。
  • 涉及系统核心文件(如hiberfil.sys、pagefile.sys)的操作需谨慎,理解作用后再执行。
  • 清理后重启系统,确保释放被占用的文件。

二、PowerShell 自动化清理脚本(极客核心)

2.1 基础清理脚本(释放 1-5GB)

# 清理前显示C盘空间
Write-Host "清理前C盘可用空间:"
Get-PSDrive C | Select-Object Free

# 1. 清理用户临时文件(%TEMP%)
Write-Host "`n清理用户临时文件..."
Get-ChildItem -Path $env:TEMP -Recurse -Force -ErrorAction SilentlyContinue | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue

# 2. 清理系统临时文件(C:\Windows\Temp)
Write-Host "清理系统临时文件..."
Get-ChildItem -Path "C:\Windows\Temp" -Recurse -Force -ErrorAction SilentlyContinue | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue

# 3. 清理回收站(所有分区)
Write-Host "清理回收站..."
$recycleBins = Get-ChildItem -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches"
foreach ($bin in $recycleBins) {
    Clear-RecycleBin -DriveLetter C -Force -ErrorAction SilentlyContinue
}

# 4. 清理浏览器缓存(Chrome/Edge)
Write-Host "清理浏览器缓存..."
$browserPaths = @(
    "$env:LOCALAPPDATA\Google\Chrome\User Data\Default\Cache",
    "$env:LOCALAPPDATA\Microsoft\Edge\User Data\Default\Cache"
)
foreach ($path in $browserPaths) {
    if (Test-Path $path) {
        Get-ChildItem -Path $path -Recurse -Force -ErrorAction SilentlyContinue | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
    }
}

# 5. 清理系统更新残留(SoftwareDistribution\Download)
Write-Host "清理系统更新残留..."
Stop-Service -Name wuauserv -Force -ErrorAction SilentlyContinue
Get-ChildItem -Path "C:\Windows\SoftwareDistribution\Download" -Recurse -Force -ErrorAction SilentlyContinue | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
Start-Service -Name wuauserv -ErrorAction SilentlyContinue

# 清理后显示C盘空间
Write-Host "`n清理后C盘可用空间:"
Get-PSDrive C | Select-Object Free

2.2 深度清理脚本(再释放 5-10GB)

# 需管理员权限,谨慎执行!

# 1. 清理Windows.old(升级残留,仅升级系统后存在)
if (Test-Path "C:\Windows.old") {
    Write-Host "清理Windows.old..."
    Takeown /F "C:\Windows.old" /R /D Y
    icacls "C:\Windows.old" /grant administrators:F /T
    Remove-Item -Path "C:\Windows.old" -Recurse -Force -ErrorAction SilentlyContinue
}

# 2. 清理系统日志(事件日志、应用日志)
Write-Host "清理系统日志..."
wevtutil el | ForEach-Object { wevtutil cl $_ }

# 3. 清理缩略图缓存
Write-Host "清理缩略图缓存..."
Stop-Process -Name explorer -Force -ErrorAction SilentlyContinue
Remove-Item -Path "$env:LOCALAPPDATA\Microsoft\Windows\Explorer\thumbcache_*.db" -Force -ErrorAction SilentlyContinue
Start-Process -Name explorer

# 4. 清理WinSxS冗余文件(系统组件存储)
Write-Host "清理WinSxS冗余文件..."
Dism /Online /Cleanup-Image /StartComponentCleanup /ResetBase  # 需联网,耗时较长

# 5. 清理卷影副本(系统还原点,保留最新1个)
Write-Host "清理旧卷影副本..."
vssadmin Delete Shadows /For=C: /Oldest  # 仅删除最旧的还原点,保留最新

# 清理后验证空间
Write-Host "`n深度清理后C盘可用空间:"
Get-PSDrive C | Select-Object Free

三、系统原生工具进阶清理

3.1 禁用休眠文件(释放 2-16GB)

休眠文件(hiberfil.sys)与内存大小相等,禁用后可彻底删除:

# 管理员权限执行
powercfg -h off  # 禁用休眠,立即释放空间
# 如需恢复:powercfg -h on

3.2 移动虚拟内存(Pagefile.sys)

虚拟内存默认占用 C 盘,迁移到其他盘:

  1. 右键 “此电脑”→“属性”→“高级系统设置”→“性能”→“设置”→“高级”→“虚拟内存”。
  2. 选择 C 盘→“无分页文件”→“设置”,再选择其他盘(如 D 盘)→“系统管理的大小”→“设置”。
  3. 重启生效,C 盘将释放原虚拟内存大小(通常为内存的 1.5 倍)。

3.3 压缩系统文件(CompactOS)

通过系统自带压缩功能减小系统文件体积(约节省 10-15% 空间):

# 管理员权限执行
Compact.exe /CompactOS:always  # 压缩系统文件
# 恢复默认:Compact.exe /CompactOS:never

原理:对不常用的系统文件采用 LZX 压缩算法,不影响性能但需重启生效。

四、第三方工具增强方案

4.1 命令行清理工具:BleachBit(开源)

首选的轻量工具,支持命令行自动化,清理规则可自定义:

# 安装后执行(需添加到环境变量)
bleachbit --clean system.tmp system.logs firefox.cache chrome.cache  # 清理指定类别
bleachbit --preview  # 预览清理内容,避免误删

优势:支持清理注册表冗余、应用残留(如 VS Code 缓存、Java 日志),规则库定期更新。

4.2 深度扫描工具:WizTree(可视化)

快速定位大文件(比系统搜索快 10 倍),适合手动删除冗余:

  • 特性:按大小排序文件夹,直观显示占用 TOP10 文件(如未清理的 ISO 镜像、大型游戏安装包)。
  • 用法:配合 PowerShell 批量删除大文件(需谨慎):
# 查找C盘大于1GB的文件并列出
Get-ChildItem -Path C:\ -Recurse -File -ErrorAction SilentlyContinue | Where-Object { $_.Length -gt 1GB } | Select-Object FullName, Length
# 确认后删除(替换路径)
Remove-Item -Path "C:\Downloads\large_file.iso" -Force

4.3 系统镜像清理:DISM 高级命令

# 检查系统镜像健康状态
DISM /Online /Cleanup-Image /ScanHealth

# 修复并清理冗余
DISM /Online /Cleanup-Image /RestoreHealth  # 需联网下载修复文件

适用于系统更新失败导致的残留文件堆积,修复后可释放 5-8GB 空间。

五、长期维护策略(习惯)

5.1 自动化任务计划

通过 Windows 任务计划程序定期执行清理脚本:

  1. 创建基本任务→触发条件(如 “每周日凌晨 3 点”)→操作(“启动程序”→powershell.exe,参数为脚本路径)。
  1. 配置 “最高权限” 执行,确保能访问系统目录。

5.2 文件夹重定向(终极方案)

将默认存储路径迁移到其他盘,一劳永逸:

  • 桌面、文档、下载等文件夹:右键属性→“位置”→“移动” 到 D 盘对应目录。
  • 软件安装:强制安装到非系统盘(如D:\Program Files),通过mklink创建软链接映射必要文件:
mklink /J "C:\Program Files\Docker" "D:\Program Files\Docker"  # 迁移Docker目录

5.3 实时监控:SpaceSniffer(可视化)

后台监控 C 盘变化,当新增大文件时弹窗提醒,避免空间骤减:

  • 特性:以区块图显示文件分布,红色区块代表新增的大文件,点击可直接定位路径。

六、注意事项与风险提示

  1. 清理System Volume Information(卷影副本)可能导致系统还原失败,建议保留最新 1 个还原点。
  1. 第三方工具需从官网下载,避免捆绑软件(如 CCleaner 免费版含广告,推荐便携版)。
  1. 脚本执行时若提示 “文件正被使用”,属于正常现象(跳过即可),重启后再次执行可清理剩余文件。

通过这套方案,普通用户可释放 10-20GB 空间,极客深度优化可释放 30GB 以上(视系统使用情况),且全程可追溯、可回滚,兼顾安全性与极客范儿。

### 使用搜狗 C瘦身 工具进行 C清理的方法 搜狗 C瘦身 工具是搜狗推出的一款用于清理系统垃圾文件、释放磁空间的实用工具。以下是使用搜狗 C瘦身 工具进行 C清理的具体步骤: #### 1. 下载与安装 首先,访问搜狗官方提供的下载链接,下载搜狗 C瘦身 工具的安装包。确保下载的链接是官方提供的,以避免下载到恶意软件。安装完成后,打开工具界面。 #### 2. 扫描垃圾文件 启动搜狗 C瘦身 工具后,点击“扫描垃圾文件”按钮。工具会自动扫描 C中的临时文件、系统日志、浏览器缓存等无用文件,并列出所有可以清理的文件列表。 #### 3. 选择清理内容 在扫描完成后,工具会显示所有可以清理的文件类型,包括系统临时文件、浏览器缓存、应用程序日志等。用户可以根据需要勾选要清理的文件类型,也可以选择“全选”来清理所有可清理的文件。 #### 4. 开始清理 确认选择后,点击“清理选中文件”按钮,工具会开始删除选中的文件。清理过程中,工具会显示进度条和已清理的文件数量。清理完成后,会显示清理结果,包括释放的磁空间大小。 #### 5. 定期维护 为了保持系统的良好性能,建议定期使用搜狗 C瘦身 工具进行清理,尤其是在安装或卸载软件后、系统更新后等情况下。 #### 注意事项 - 在清理之前,建议备份重要文件,以免误删。 - 清理过程中,确保不要中断操作,以免影响系统稳定性。 - 如果不确定某些文件是否可以删除,可以选择不清理这些文件。 ### 示例代码(模拟清理过程) 以下是一个简单的 Python 脚本,模拟了搜狗 C瘦身 工具清理过程: ```python import os import shutil def scan_files(directory): """模拟扫描垃圾文件""" print(f"正在扫描 {directory} 中的垃圾文件...") # 模拟扫描到的垃圾文件列表 garbage_files = [ os.path.join(directory, "temp_file1.tmp"), os.path.join(directory, "cache_file1.cache"), os.path.join(directory, "log_file1.log") ] return garbage_files def clean_files(file_list): """清理指定的文件列表""" for file in file_list: try: if os.path.isfile(file): os.remove(file) print(f"已删除文件: {file}") elif os.path.isdir(file): shutil.rmtree(file) print(f"已删除目录: {file}") except Exception as e: print(f"删除失败: {file}, 错误: {e}") if __name__ == "__main__": # 模拟 C路径 c_drive = "C:\\" # 扫描垃圾文件 garbage_files = scan_files(c_drive) # 清理垃圾文件 clean_files(garbage_files) ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值