Windows脚本清理C盘缓存
方法一:使用power文件.ps1的文件
脚本功能
-
清理临时文件夹:
- 当前用户的临时文件夹(
%Temp%
)。 - 系统临时文件夹(
C:\Windows\Temp
)。
- 当前用户的临时文件夹(
-
清理 Windows 更新缓存:
- 删除 Windows 更新下载缓存(
C:\Windows\SoftwareDistribution\Download
)。
- 删除 Windows 更新下载缓存(
-
清空回收站:
- 调用系统接口清空所有用户的回收站。
-
清理 Internet Explorer 和 Edge 浏览器缓存:
- 删除浏览器历史记录、Cookie 和缓存文件。
-
清理 Prefetch 文件夹:
- 删除 Windows 的预取文件(
C:\Windows\Prefetch
)。
- 删除 Windows 的预取文件(
-
清理系统日志文件(可选):
- 清理事件日志文件。
# 清理 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 SilentlyContinueWrite-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 SilentlyContinueWrite-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 SilentlyContinueWrite-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
使用说明
- 打开记事本,将上述脚本复制并粘贴进去。
- 保存文件为
CleanWindowsCache.ps1
。 - 以管理员身份运行 PowerShell。
- 在 PowerShell 中导航到脚本所在目录并执行:
.\CleanWindowsCache.ps1
注意事项
- 权限: 脚本需要以管理员权限运行。
- 数据丢失风险:
- 确保重要文件不保存在临时文件夹中。
- Windows 更新缓存清理后可能需要重新下载更新。
- 日志文件清理: 事件日志清理后将无法恢复,如无必要可注释相关部分。
方法二:使用批处理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
使用方法
- 打开记事本,将上述代码粘贴进去。
- 保存文件,文件名如
CleanWindowsCache.bat
。- 保存时选择 文件类型 为 “所有文件”。
- 文件名后缀为
.bat
,例如:CleanWindowsCache.bat
。
- 右键点击生成的
.bat
文件,选择 以管理员身份运行。
注意事项
- 管理员权限: 必须右键以管理员权限运行,否则可能无法删除某些文件。
- 重要文件: 请确认临时文件夹中没有重要文件。
- 日志文件: 系统日志清理不可恢复,必要时可以注释相关部分。
补充:知识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,就可以成功了!
相关文章:

Windows脚本清理C盘缓存
方法一:使用power文件.ps1的文件 脚本功能 清理临时文件夹: 当前用户的临时文件夹(%Temp%)。系统临时文件夹(C:\Windows\Temp)。 清理 Windows 更新缓存: 删除 Windows 更新下载缓存࿰…...

分布式协同 - 分布式事务_2PC 3PC解决方案
文章目录 导图Pre2PC(Two-Phase Commit)协议准备阶段提交阶段情况 1:只要有一个事务参与者反馈未就绪(no ready),事务协调者就会回滚事务情况 2:当所有事务参与者均反馈就绪(ready&a…...

永磁同步电机负载估计算法--自适应扩张状态观测器
一、 原理介绍 在线性扩张观测器中,LESO观测器增益ω0 决定了观测器的跟踪速度,ω0 越大,观测器估计精度越高, 抗干扰能力越强,瞬态响应速度加快,过大则会引入高频噪声使系统不稳定。为使观测器在全速域内…...

【HarmonyOS应用开发——ArkTS语言】购物商城的实现【合集】
目录 😋环境配置:华为HarmonyOS开发者 📺演示效果: 📖实验步骤及方法: 1. 在src/main/ets文件中创建components文件夹并在其中创建Home.ets和HomeProduct.ets文件。 2. 在Home.ets文件中定义 Home 组…...
Python二维码生成器qrcode库
要在Python中生成二维码,你可以使用 qrcode 库。这个库非常方便,允许你生成并保存二维码图像。下面是一个简单的示例,展示了如何使用 qrcode 库生成二维码。 首先,你需要安装 qrcode 库。你可以使用 pip 来安装它: s…...

Python:模拟(包含例题:饮料换购 图像模糊 螺旋矩阵)
模拟题:直接按照题目含义模拟即可,一般不涉及算法 注意: 1.读懂题:理清楚题目流程 2.代码和步骤一一对应:变量名,函数名,函数功能 3.提取重复的部分,写成对应的函数(…...
git分支与部署环境的关系以及开发规范
一 某金融机构 1.1 分支分类以及作用 1.master master分支为主分支,用于部署生产环境的分支,无论任何时候都要确保master分支的稳定性;master分支由feature及hotfix分支合并,任何时间都不能直接修改代码。目前用于老仿真和老生产,暂时不动。 2.prod 主分支,是master…...
2024最新鸿蒙开发面试题合集(一)-HarmonyOS NEXT Release(API 12 Release)
1. HarmonyOS应用打包后的文件扩展名是? 打包后的文件扩展名为.hap(HarmonyOS Ability Package),这是HarmonyOS应用的标准包格式 2. 页面和自定义组件生命周期有哪些? 页面和自定义组件生命周期说明 有Entry装饰器的component组件的生命…...
【mybatis】详解 # 和 $ 的区别,两者分别适用于哪种场景,使用 $ 不当会造成什么影响
# 和 $ 的区别 在MyBatis中,# 和 $ 是用来处理参数的两种不同方式,它们之间有一些重要的区别: # 符号: # 是用来进行参数占位符的,它会进行 SQL 注入防护。使用 # 时,MyBatis 会将参数值进行预处理&…...
Java面试题,数据结构,图的最短路径算法应用于社交网络分析
图的最短路径算法应用于社交网络分析 在一个大型社交网络中,用户想要找到连接两个特定用户的最短路径。假设你已经有了这个社交网络的数据模型,其中节点代表用户,边代表用户之间的关系。请设计一个解决方案,以找出两个用户之间的…...

Tree数据处理
文章目录 一、Tree数据重置二、Tree拆分成二级数据1、过滤数据2、二级数据 Tree组件的数据处理往往需要使用递归,本文归纳一下常见的数据处理情景,持续更新; 一、Tree数据重置 递归的标志就是寻找子元素的集合字段,一般为children…...

idea配置gitee仓库
idea配置gitee 0、fork开源项目 到自己的仓库,这一步相当于创建了一个自己的git仓库,并复制了别人的开源代码。 注意:如果直接下载别人的开源项目,需要从新配置git仓库信息,因为开源项目一般都设置了git信息。而修改…...

SpringBoot 事务
事务是一组操作的集合, 是一个不可分割的操作.会把所有的操作作为一个整体, 一起向数据库提交或者是撤销操作请求. 所以这组操作要么同时成功, 要么同时失败. 为什么需要事务? 我们在进行程序开发时, 也会有事务的需求. 比如转账操作: 第一步:A 账户 -100 元. …...

我的JAVA-Web基础(1)
1.HTML 2.css CSS(层叠样式表)提供了多种选择器来定位HTML文档中的元素,以便可以应用样式。以下是三种常用的选择器简述: ID 选择器: ID选择器使用HTML元素的id属性来定位单个元素。每个页面中id应该是唯一的…...
【Leetcode 热题 100】207. 课程表
问题背景 你这个学期必须选修 n u m C o u r s e s numCourses numCourses 门课程,记为 0 0 0 到 n u m C o u r s e s − 1 numCourses - 1 numCourses−1。 在选修某些课程之前需要一些先修课程。 先修课程按数组 p r e r e q u i s i t e s prerequisites p…...
从CreateDialogIndirectParam起---我与大模型对话
前言: 对当前的大模型来说,一切皆程序,皆标准。只能按照推定的线路行走,就像机器人走进死胡同,不停的踏步也不回头。除非人为去干预它。其实我提出的这个问题前是因为我不清楚了解一部分WinAPI有着严格的检查机制和自毁…...

重温设计模式--建造者模式
文章目录 建造者模式(Builder Pattern)概述建造者模式UML图作用:建造者模式的结构产品(Product):抽象建造者(Builder):具体建造者(Concrete Builderÿ…...
CSS(五):定位
目录 相对定位 绝对定位 固定定位 在 CSS 中,position 属性用于控制元素的定位方式,使我们可以精确地控制元素在页面上的位置。定位分为相对定位、绝对定位、和固定定位 相对定位 相对定位:position: relative; 相对定位意味着元素的位置…...
JSON 系列之2:JSON简单查询
本文为Oracle数据库JSON学习系列的第2篇,讲述如何对存储在数据库中的JSON文档进行简单的查询。 创建测试表,插入2条数据: DROP TABLE colortab PURGE;CREATE TABLE colortab (id NUMBER,color VARCHAR2(4000),CONSTRAINT ensure_json CH…...

SQL 简单查询
目录 一、投影查询 1、指定特定列查询 2、修改返回列名查询 3、计算值查询 二、选择查询 1、使用关系表达式 2、使用逻辑表达式 3、使用 BETWEEN关键字 4、使用 IN关键字 5、使用 LIKE关键字 6、使用 IS NULL/ NOT NULL关键字 7、符合条件查询 三、聚合函数查询 一…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...

.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...

微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...

听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...