当前位置: 首页 > news >正文

Windows脚本清理C盘缓存

方法一:使用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 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

使用说明

  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,就可以成功了!

相关文章:

Windows脚本清理C盘缓存

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

分布式协同 - 分布式事务_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应该是唯一的&#xf…...

【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&#xff…...

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、符合条件查询 三、聚合函数查询 一…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM&#xff09…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

安卓基础(aar)

重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

在树莓派上添加音频输入设备的几种方法

在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...

写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里

写一个shell脚本&#xff0c;把局域网内&#xff0c;把能ping通的IP和不能ping通的IP分类&#xff0c;并保存到两个文本文件里 脚本1 #!/bin/bash #定义变量 ip10.1.1 #循环去ping主机的IP for ((i1;i<10;i)) doping -c1 $ip.$i &>/dev/null[ $? -eq 0 ] &&am…...

CVE-2023-25194源码分析与漏洞复现(Kafka JNDI注入)

漏洞概述 漏洞名称&#xff1a;Apache Kafka Connect JNDI注入导致的远程代码执行漏洞 CVE编号&#xff1a;CVE-2023-25194 CVSS评分&#xff1a;8.8 影响版本&#xff1a;Apache Kafka 2.3.0 - 3.3.2 修复版本&#xff1a;≥ 3.4.0 漏洞类型&#xff1a;反序列化导致的远程代…...