实用脚本能批量清理吗?

wen 实用脚本 10

本文目录导读:

实用脚本能批量清理吗?

  1. 清理 Windows 系统垃圾文件
  2. 清理浏览器缓存
  3. 清理项目开发中的垃圾文件
  4. 清理日志文件(按时间批量删除)
  5. 清理重复文件(进阶)
  6. ⚠️ 重要安全提示(必看)

可以的,实用脚本完全可以实现批量清理功能,具体能清理什么、怎么清理,取决于你的需求和使用的环境(比如是清理电脑文件、浏览器缓存、磁盘垃圾、还是项目中的临时文件等)。

下面我给你整理了几个常见的批量清理场景和对应的实用脚本示例,你可以直接参考或改编:

清理 Windows 系统垃圾文件

使用 批处理脚本 (.bat)PowerShell 可以批量删除临时文件、回收站内容、日志等。

脚本示例(Windows批处理,保存为 clean.bat 并以管理员身份运行):

@echo off
echo 正在清理系统垃圾文件,请稍等...
:: 清理 Windows 临时文件夹
del /f /s /q "%TEMP%\*.*" >nul 2>&1
:: 清理用户临时文件
del /f /s /q "%WINDIR%\Temp\*.*" >nul 2>&1
:: 清理回收站
rd /s /q C:\$Recycle.bin >nul 2>&1
:: 清理预读取文件(可选)
del /f /s /q "%WINDIR%\Prefetch\*.*" >nul 2>&1
echo 清理完成!
pause

清理浏览器缓存

如果你有多个浏览器(Chrome/Edge/Firefox),可以用脚本批量清空它们的缓存文件夹。

脚本示例(PowerShell,清理 Chrome 和 Edge 缓存):

# 关闭所有浏览器(可选,防止文件被占用)
# Get-Process chrome, edge | Stop-Process -Force
# 清理 Chrome 缓存
Remove-Item -Path "$env:LOCALAPPDATA\Google\Chrome\User Data\Default\Cache\*" -Recurse -Force -ErrorAction SilentlyContinue
# 清理 Edge 缓存
Remove-Item -Path "$env:LOCALAPPDATA\Microsoft\Edge\User Data\Default\Cache\*" -Recurse -Force -ErrorAction SilentlyContinue
Write-Host "浏览器缓存已清理完毕"

清理项目开发中的垃圾文件

如果你做开发(Python、Node.js、Git),经常会产生 node_modules__pycache__.DS_Storedist 等无用目录。

脚本示例(Bash/Linux/Mac 或 Git Bash,清理当前目录下所有子项目):

#!/bin/bash
echo "正在批量清理开发项目垃圾..."
# 删除所有 node_modules 文件夹
find . -name "node_modules" -type d -prune -exec rm -rf {} \;
# 删除所有 Python 缓存
find . -name "__pycache__" -type d -prune -exec rm -rf {} \;
# 删除 Mac 系统文件
find . -name ".DS_Store" -delete
echo "清理完成"

清理日志文件(按时间批量删除)

假如你有很多 .log 文件,可以只保留最近 N 天的,批量删除旧的。

脚本示例(Linux/Windows 都可,使用 Python 更跨平台):

import os
import time
from pathlib import Path
LOG_DIR = "./logs"
DAYS_TO_KEEP = 7
now = time.time()
for file in Path(LOG_DIR).rglob("*.log"):
    if now - file.stat().st_mtime > DAYS_TO_KEEP * 86400:
        file.unlink()
        print(f"已删除过期日志: {file}")

清理重复文件(进阶)

如果你有大量图片、文档重复,可以用脚本找出重复文件并删除(注意风险)。

简单 Python 脚本示例(按文件名+大小去重):

import os
from collections import defaultdict
def find_duplicates(directory):
    files_by_size = defaultdict(list)
    for root, dirs, files in os.walk(directory):
        for name in files:
            path = os.path.join(root, name)
            size = os.path.getsize(path)
            files_by_size[(name, size)].append(path)
    # 保留第一个,删除后续重复
    for key, paths in files_by_size.items():
        if len(paths) > 1:
            for p in paths[1:]:
                os.remove(p)
                print(f"删除重复文件: {p}")
find_duplicates("C:\MyFiles")

⚠️ 重要安全提示(必看)

  1. 先测试:批量清理非常强大,也容易误删,建议先用 echo-WhatIf 参数预览要删的内容。
  2. 不要删除系统关键文件C:\Windows\System32/usr/lib 等。
  3. 做好备份:如果清理的是重要项目或数据,先复制一份。
  4. 权限问题:部分系统文件夹需要管理员/root权限才能删除。
  • 批量清理,而且非常高效。
  • 关键在于明确指定目录、文件类型和保留策略
  • 推荐使用 Python(跨平台、逻辑灵活)或 Shell/Batch(轻量快速)。

如果你有更具体的需求(比如清理某个软件、某种特定文件),告诉我,我可以直接给你生成对应的脚本。

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