自动化脚本如何清理应用缓存

wen 实用脚本 2

本文目录导读:

自动化脚本如何清理应用缓存

  1. Android 设备 (通过 ADB)
  2. Windows 系统
  3. macOS 系统
  4. Linux 系统 (桌面环境)
  5. Docker 容器环境
  6. 跨平台通用方案 (Python)
  7. 安全建议

Android 设备 (通过 ADB)

适用场景: 批量管理手机/平板应用缓存,自动化测试环境清理。

脚本 (Bash/PowerShell):

#!/bin/bash
# 清理指定应用缓存
PACKAGE_NAME="com.example.app"
# 清除缓存 (不删除用户数据)
adb shell pm clear --cache-only $PACKAGE_NAME
# 或者彻底清除所有数据 (谨慎使用)
# adb shell pm clear $PACKAGE_NAME
echo "$PACKAGE_NAME 缓存已清理"

批量清理多个应用:

# PowerShell 版本: 清理列表中所有应用的缓存
$packages = @("com.tencent.mm", "com.facebook.katana", "com.instagram.android")
foreach ($pkg in $packages) {
    adb shell pm clear --cache-only $pkg
    Write-Host "$pkg 缓存已清除"
}

注意: 需要开启手机的 开发者选项USB调试

Windows 系统

方案 A:清理特定软件缓存

脚本 (PowerShell):

# 清理 Chrome 浏览器缓存
Remove-Item "$env:LOCALAPPDATA\Google\Chrome\User Data\Default\Cache\*" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item "$env:LOCALAPPDATA\Google\Chrome\User Data\Default\Code Cache\*" -Recurse -Force -ErrorAction SilentlyContinue
# 清理 Windows 应用商店缓存
wsreset.exe
# 清理临时文件 (系统级)
CleanMgr /sageset:1   # 预先配置要清理的项目
CleanMgr /sagerun:1

方案 B:深度磁盘清理 (推荐)

脚本 (CMD/BAT):

@echo off
echo 正在清理系统临时文件...
del /f /s /q %temp%\*.* >nul 2>&1
del /f /s /q C:\Windows\Temp\*.* >nul 2>&1
echo 清理 DNS 缓存...
ipconfig /flushdns
echo 清理缩略图缓存...
del /f /s /q %userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_*.db >nul 2>&1
echo 清理完成!
pause

macOS 系统

脚本 (Bash/Zsh):

#!/bin/bash
# 清理用户缓存目录
echo "正在清理系统缓存..."
sudo rm -rf ~/Library/Caches/*
# 清理特定应用的缓存 (以 Safari 为例)
rm -rf ~/Library/Caches/com.apple.Safari/*
rm -rf ~/Library/Safari/LocalStorage/*
# 清理用户日志文件
sudo rm -rf ~/Library/Logs/*
echo "缓存清理完成!"

注意: 部分操作需 sudo 权限(需输入密码)。

Linux 系统 (桌面环境)

脚本 (Bash):

#!/bin/bash
# 清理系统缓存
echo "清理 APT 缓存..."
sudo apt-get clean
sudo apt-get autoclean
sudo apt-get autoremove -y
# 清理用户缓存
echo "清理用户应用缓存..."
rm -rf ~/.cache/*
# 清理系统日志 (可选)
sudo journalctl --vacuum-time=3d
# 清理 Snap 包缓存 (如果有)
sudo snap set system refresh.retain=2

Docker 容器环境

脚本 (Bash):

#!/bin/bash
echo "清理所有停止的容器..."
docker container prune -f
echo "清理未使用的镜像..."
docker image prune -a -f
echo "清理构建缓存..."
docker builder prune -a -f
echo "释放的磁盘空间:"
docker system df

跨平台通用方案 (Python)

适用场景: 需要同时支持 Windows/macOS/Linux 的复杂逻辑。

import os
import sys
import platform
import shutil
def clear_app_cache(app_name):
    system = platform.system()
    home = os.path.expanduser("~")
    cache_paths = {
        "Windows": {
            "chrome": f"{home}\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Cache",
            "firefox": f"{home}\\AppData\\Local\\Mozilla\\Firefox\\Profiles",
        },
        "Darwin": {  # macOS
            "chrome": f"{home}/Library/Caches/Google/Chrome",
            "firefox": f"{home}/Library/Caches/Firefox",
        },
        "Linux": {
            "chrome": f"{home}/.cache/google-chrome",
            "firefox": f"{home}/.cache/mozilla/firefox",
        }
    }
    app_cache_dir = cache_paths.get(system, {}).get(app_name)
    if app_cache_dir and os.path.exists(app_cache_dir):
        shutil.rmtree(app_cache_dir, ignore_errors=True)
        print(f"✅ 已清理 {app_name} 缓存")
    else:
        print(f"❌ 未找到 {app_name} 缓存路径")
# 使用示例
clear_app_cache("chrome")
clear_app_cache("firefox")

安全建议

  1. 先测试后执行:在正式运行前,先用 echo-WhatIf 参数预览要删除的文件。
  2. 指定应用白名单:避免误删重要应用数据(例如微信聊天记录)。
  3. 定时任务
    • Windows:使用 任务计划程序 配置每天/每周执行
    • Linux/macOS:使用 crontab 定时运行脚本
  4. 日志记录:在脚本中添加日期时间记录,方便追踪清理历史。

如果需要针对某个具体应用的缓存路径,请提供应用名称和操作系统,我可以帮你编写更精确的脚本。

抱歉,评论功能暂时关闭!