Windows脚本清理C盘缓存

news2024/12/27 1:13:55

方法一:使用power文件.ps1的文件

脚本功能

  1. 清理临时文件夹:

    • 当前用户的临时文件夹(%Temp%)。
    • 系统临时文件夹(C:\Windows\Temp)。
  2. 清理 Windows 更新缓存:

    • 删除 Windows 更新下载缓存(C:\Windows\SoftwareDistribution\Download)。
  3. 清空回收站:

    • 调用系统接口清空所有用户的回收站。
  4. 清理 Internet Explorer 和 Edge 浏览器缓存:

    • 删除浏览器历史记录、Cookie 和缓存文件。
  5. 清理 Prefetch 文件夹:

    • 删除 Windows 的预取文件(C:\Windows\Prefetch)。
  6. 清理系统日志文件(可选):

    • 清理事件日志文件。
# 清理 Windows 缓存和垃圾文件
Write-Host "开始清理 Windows 缓存和垃圾文件..." -ForegroundColor Green

# 设置错误处理
$ErrorActionPreference = "SilentlyContinue"

# 清理临时文件夹
Write-Host "清理临时文件夹..." -ForegroundColor Cyan
$TempPaths = @(
    "$env:Temp",                          # 当前用户的临时文件夹
    "$env:SystemRoot\Temp"                # 系统的临时文件夹
)
foreach ($Path in $TempPaths) {
    if (Test-Path $Path) {
        Get-ChildItem -Path $Path -Recurse -Force | Remove-Item -Force -Recurse -ErrorAction SilentlyContinue
        Write-Host "已清理:$Path" -ForegroundColor Yellow
    } else {
        Write-Host "路径不存在:$Path" -ForegroundColor Gray
    }
}

# 清理 Windows 更新缓存
Write-Host "清理 Windows 更新缓存..." -ForegroundColor Cyan
$WindowsUpdateCache = "$env:SystemRoot\SoftwareDistribution\Download"
if (Test-Path $WindowsUpdateCache) {
    Get-ChildItem -Path $WindowsUpdateCache -Recurse -Force | Remove-Item -Force -Recurse -ErrorAction SilentlyContinue
    Write-Host "已清理:$WindowsUpdateCache" -ForegroundColor Yellow
} else {
    Write-Host "路径不存在:$WindowsUpdateCache" -ForegroundColor Gray
}

# 清理回收站
Write-Host "清理回收站..." -ForegroundColor Cyan
$Shell = New-Object -ComObject Shell.Application
$RecycleBin = $Shell.NameSpace(10)
$RecycleBin.Items() | ForEach-Object { $_.InvokeVerb("delete") }
Write-Host "回收站已清空" -ForegroundColor Yellow

# 清理浏览器缓存 (Edge/IE)
Write-Host "清理 Internet Explorer 和 Edge 缓存..." -ForegroundColor Cyan
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255
Write-Host "已清理 IE 和 Edge 缓存" -ForegroundColor Yellow

# 清理 Prefetch 文件
Write-Host "清理 Prefetch 文件..." -ForegroundColor Cyan
$PrefetchPath = "$env:SystemRoot\Prefetch"
if (Test-Path $PrefetchPath) {
    Get-ChildItem -Path $PrefetchPath -Recurse -Force | Remove-Item -Force -Recurse -ErrorAction SilentlyContinue
    Write-Host "已清理:$PrefetchPath" -ForegroundColor Yellow
} else {
    Write-Host "路径不存在:$PrefetchPath" -ForegroundColor Gray
}

# 清理系统日志文件 (可选)
Write-Host "清理系统日志文件..." -ForegroundColor Cyan
wevtutil el | Foreach-Object {wevtutil cl $_}
Write-Host "系统日志文件已清理" -ForegroundColor Yellow

# 清理完成
Write-Host "所有清理任务已完成!" -ForegroundColor Green

使用说明

  1. 打开记事本,将上述脚本复制并粘贴进去。
  2. 保存文件为 CleanWindowsCache.ps1
  3. 以管理员身份运行 PowerShell。
  4. 在 PowerShell 中导航到脚本所在目录并执行:
.\CleanWindowsCache.ps1

注意事项

  1. 权限: 脚本需要以管理员权限运行。
  2. 数据丢失风险:
    • 确保重要文件不保存在临时文件夹中。
    • Windows 更新缓存清理后可能需要重新下载更新。
  3. 日志文件清理: 事件日志清理后将无法恢复,如无必要可注释相关部分。

方法二:使用批处理bat

功能与特点

  • 自动清理临时文件、更新缓存、浏览器缓存、回收站和系统日志。
  • 通过批处理脚本执行,直接在命令提示符中运行。
  • 简单高效,支持多种垃圾文件清理。
@echo off
title Windows 缓存清理工具
echo 开始清理 Windows 缓存和垃圾文件...
echo =======================================
:: 设置权限
echo 提升管理员权限运行脚本...
powershell -Command "Start-Process cmd -ArgumentList '/c %~s0' -Verb RunAs"
if not "%errorlevel%"=="0" exit /b

:: 清理临时文件夹
echo 清理临时文件夹...
del /s /q %TEMP%\* >nul 2>nul
del /s /q %SystemRoot%\Temp\* >nul 2>nul
echo 临时文件夹已清理!

:: 清理 Windows 更新缓存
echo 清理 Windows 更新缓存...
del /s /q %SystemRoot%\SoftwareDistribution\Download\* >nul 2>nul
echo Windows 更新缓存已清理!

:: 清空回收站
echo 清空回收站...
powershell -Command "& {$Shell = New-Object -ComObject Shell.Application; $RecycleBin = $Shell.Namespace(10); $RecycleBin.Items() | ForEach-Object { $_.InvokeVerb('delete') }}"
echo 回收站已清空!

:: 清理浏览器缓存 (IE/Edge)
echo 清理 Internet Explorer 和 Edge 浏览器缓存...
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255
echo 浏览器缓存已清理!

:: 清理 Prefetch 文件
echo 清理 Prefetch 文件...
del /s /q %SystemRoot%\Prefetch\* >nul 2>nul
echo Prefetch 文件已清理!

:: 清理系统日志文件 (可选)
echo 清理系统日志文件...
for /f %%i in ('wevtutil el') do wevtutil cl "%%i"
echo 系统日志文件已清理!

:: 完成
echo =======================================
echo 所有清理任务已完成!
pause
exit

使用方法

  1. 打开记事本,将上述代码粘贴进去。
  2. 保存文件,文件名如 CleanWindowsCache.bat
    • 保存时选择 文件类型 为 “所有文件”。
    • 文件名后缀为 .bat,例如:CleanWindowsCache.bat
  3. 右键点击生成的 .bat 文件,选择 以管理员身份运行

注意事项

  1. 管理员权限: 必须右键以管理员权限运行,否则可能无法删除某些文件。
  2. 重要文件: 请确认临时文件夹中没有重要文件。
  3. 日志文件: 系统日志清理不可恢复,必要时可以注释相关部分。

补充:知识power知识(具体详情可参考连接)

概述

.ps1文件是PowerShell写好的脚本文件。在Windows系统中,默认情况下是不允许执行.ps1文件的,那么怎么才能让系统允许执行.ps1文件呢?

什么是“.ps1”文件?

这个是PowerShell写的脚本文本,你可以在记事本中写一段PowerShell代码,然后将其保存为“xxx.ps1”,后面要使用它的时候,双击即可运行了。这有点像批处理的“.bat”文件,也有点像VBScript的“.vbs”文件。这些都是Windows的脚本文件。

如何执行“.ps1”文件?

接下来大家会问,那我们就双击它运行好了,还有什么好说的吗?当然要说。我们想得很美,双击一下就执行了,但是Windows系统默认是不允许执行.ps1文件的,所以你得往下看。

执行不成功的解决办法


1、将PowerShell的脚本内容保存到一个.ps1为后缀的文件中。
2、双击执行此ps1文件很有可能无法执行,提示:无法加载文件 D:\PowerShell\test\myfirst1.ps1,因为在此系统中禁止执行脚本。
3、运行get-executionpolicy,如果结果是Restricted,那表示禁止执行脚本。
4、执行如下命令,降低系统的安全性,允许执行脚本:set-executionpolicy -executionpolicy unrestricted

关于执行策略

这里有一个executionpolicy,翻译过来就是执行策略。Windows对PowerShell脚本默认的执行策略是:不允许执行,即Restricted。把它改成unrestricted自然就可以执行了。但微软给出的Best Practise(“最佳实践”)是RemoteSigned,这个级别比UnRestricted要高一点,不是什么程序都能执行。据我简单的了解,RemoteSigned是要求远程下载的ps1脚本文件必须是签名的才可以执行。至于我们在本机上自写的脚本程序,那是没有区别,都可以执行的。

修改执行策略需要权限

另外需要说明的是,如果是在Win7、Win8、Windows 2008、Windows 2012等系统上,且不是使用administrator账号来执行这个set-executionpolicy语句,将会报错,错误如下:
Set-ExecutionPolicy : 对注册表项“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell”的访问被拒绝。
这时候洪哥很疑惑,我使用账号虽然不是administrator,但也是administrators组的,为什么会没有权限呢?不管了,在注册表中,找到这个键,然后点右键选择“权限”,然后给当前登录系统的账号加一个“完全控制”的权限(只有“只读”和“完全控制”两个权限,所以就选“完全控制”了)。然后,再重新执行set-executionpolicy -executionpolicy unrestricted,就可以成功了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2266109.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Type-c接口

6P Type C 接口座: 仅支持充电 16P 与 12P Type C 接口座: 支持数据传输 Type-c引脚: SUB1,SUB2为辅助通讯引脚,主要用在音视频信号传输中,很多DIY都用不到 CC1、CC2引脚用于连接检测,一般可以不用连接&am…

基于python语音启动电脑应用程序

osk模型进行输入语音转换 txt字典导航程序路径 pyttsx3引擎进行语音打印输出 关键词程序路径 import os import json import queue import sounddevice as sd from vosk import Model, KaldiRecognizer import subprocess import time import pyttsx3 import threading# 初始…

互联网视频云平台EasyDSS无人机推流直播技术如何助力野生动植物保护工作?

在当今社会,随着科技的飞速发展,无人机技术已经广泛应用于各个领域,为我们的生活带来了诸多便利。而在动植物保护工作中,无人机的应用更是为这一领域注入了新的活力。EasyDSS,作为一款集视频处理、分发、存储于一体的综…

垃圾分割数据集labelme格式659张1类别

数据集格式:labelme格式(不包含mask文件,仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数):659 标注数量(json文件个数):659 标注类别数:1 标注类别名称:["garbage"] 每个类别标注的框数&#…

记我的Springboot2.6.4从集成swagger到springdoc的坎坷路~

项目背景 主要依赖及jdk信息: Springboot:2.6.4 Jdk: 1.8 最近新搭建了一套管理系统,前端部分没有公司的前端团队,自己在github上找了一个star较多使用相对也简单的框架。在这个管理系统搭建好上线之后,给组内的小伙…

NNDL 作业11 LSTM

习题6-4 推导LSTM网络中参数的梯度, 并分析其避免梯度消失的效果 先来推个实例: 看式子中间,上半部分并未有连乘项,而下半部分有到的连乘项,从这可以看出,LSTM能缓解梯度消失,梯度爆炸只是不易…

uniapp使用live-pusher实现模拟人脸识别效果

需求: 1、前端实现模拟用户人脸识别,识别成功后抓取视频流或认证的一张静态图给服务端。 2、服务端调用第三方活体认证接口,验证前端传递的人脸是否存在,把认证结果反馈给前端。 3、前端根据服务端返回的状态,显示在…

MySQL中Performance Schema库的详解(下)

昨天说了关于SQL语句相关的,今天来说说性能相关的,如果没有看过上篇请点传送门https://blog.csdn.net/2301_80479959/article/details/144693574?fromshareblogdetail&sharetypeblogdetail&sharerId144693574&sharereferPC&sharesource…

YOLO11全解析:从原理到实战,全流程体验下一代目标检测

前言 一、模型介绍 二、网络结构 1.主干网络(Backbone) 2.颈部网络(Neck) 3.头部网络(Head) 三、算法改进 1.增强的特征提取 2.优化的效率和速度 3.更高的准确性与更少的参数 4.环境适应性强 5.…

【Qt】了解和HelloWorld

目录 0.用户交互界面风格 Windows下GUI开发方案? 1.Qt简介 1.1 版本Qt5. 1.2搭建Qt开发环境 需要安装3个工具 安装过程 熟悉QtSDK重要工具 2.使用Qt Creator创建项目 2.1代码解释 2.2helloworld 1.图形化方式 2.代码方式 0.用户交互界面风格 1.TUI&…

原点安全再次入选信通院 2024 大数据“星河”案例

近日,中国信息通信研究院和中国通信标准化协会大数据技术标准推进委员会(CCSA TC601)共同组织开展的 2024 大数据“星河(Galaxy)”案例征集活动结果正式公布。由工银瑞信基金管理有限公司、北京原点数安科技有限公司联…

【MySQL初阶】--- 数据类型

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏: MySQL 🏠 数据类型分类 MySQL是一套整体的对外数据存取方案,既然要存取数据,而数据有不同的类型,因此MySQL也存在不同的数据类型,有不同的用…

使用VsCode编译调试Neo4j源码

文章目录 使用VsCode编译调试Neo4j源码1 简介2 步骤1 下载源码2 依赖3 构建Neo4j4 运行5 安装VsCode扩展6 **调试** 使用VsCode编译调试Neo4j源码 1 简介 Neo4j作为领先的图数据库,在存储、查询上都非常值得分析学习。通过调试、日志等方法跟踪代码工作流有助于理…

从零开始构建美颜SDK:直播美颜插件的开发实践指南

很多人好奇的一个问题,直播APP中主播们的美颜功能是如何实现的,今天,我们将以构建一款美颜SDK为主线,从技术架构、功能设计到开发实践,为读者提供一个全面的指导。 一、美颜SDK的核心技术 要构建一款优秀的美颜SDK&a…

计算机网络习题( 第3章 物理层 第4章 数据链路层 )

第3章 物理层 一、单选题 1、下列选项中,不属于物理层接口规范定义范畴的是( )。 A、 接口形状 B、 引脚功能 C、 传输媒体 D、 信号电平 正确答案: C 2、在物理层接口特性中,用于描述完成每种功能的事件发…

云手机群控能用来做什么?

随着云手机的发展,云手机群控技术逐渐从小众的游戏多开工具,发展为涵盖多个领域的智能操作平台。不论是手游搬砖、短视频运营,还是账号养成等场景,云手机群控都展现出了强大的应用潜力。本文将为大家详细解析云手机群控的应用场景…

深度学习实验十七 优化算法比较

目录 一、优化算法的实验设定 1.1 2D可视化实验(被优化函数为) 1.2 简单拟合实验 二、学习率调整 2.1 AdaGrad算法 2.2 RMSprop算法 三、梯度修正估计 3.1 动量法 3.2 Adam算法 四、被优化函数变为的2D可视化 五、不同优化器的3D可视化对比 …

汽车IVI中控开发入门及进阶(43):NanoVG

NanoVG:基于OpenGL的轻量级抗锯齿2D矢量绘图库 NanoVG是一个跨平台、基于OpenGL的矢量图形渲染库。它非常轻量级,用C语言实现,代码不到5000行,非常精简地实现了一套HTML5 Canvas API,做为一个实用而有趣的工具集,用来构建可伸缩的用户界面和可视化效果。NanoVG-Library为…

【生信圆桌x教程系列】如何安装 seurat V4版本R包

生物信息分析,上云更省心; 欢迎访问 www.tebteb.cc 了解 【生信云】 一.介绍 Seurat 是一个广泛使用的 R 包,专门用于单细胞基因表达数据的分析与可视化。它主要被生物信息学和生物统计学领域的研究者用来处理、分析和理解单细胞 RNA 测序(scRNA-seq&am…

阿里云技术公开课直播预告:基于阿里云 Elasticsearch 构建 AI 搜索和可观测 Chatbot

在当今数据驱动的商业环境中,企业面临着前所未有的挑战与机遇。如何高效搜索、分析和观测数据,已成为企业成功的关键。Elasticsearch 企业版作为 Elastic Stack 的商业发行版,提供了一整套高效的搜索、分析和观测解决方案。 为此&#xff0c…