winsxs文件夹清理_第1页
winsxs文件夹清理_第2页
免费预览已结束,剩余3页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1/ 5清理 winsxs 文件夹 winsxs 的文件夹位于 Windows 根目录,是一个超大的文 件仓库,系统所在分区几乎所有的系统文件都在那里至少有一个备份。有兴趣的网友不妨通过搜索功能在 win sxs 搜一下公用视频、公用图片、公 用音乐文件夹里的文件,你会发现那些精简系统时已经被删除了的文件在 wi nsxs 里还可以找到影子。假如系统文件被删除或者破坏,用命令sfc/sca nnow 就可以恢复,但如果将win sxs 里面的任何一个重要的组件删除,sfc 命令就会失效。系统在线更新的过程是旧版本文件被新版本的取代,旧文件自动备份在 wi nsxs 里;卸载补丁的过程是系统新版

2、本文件被旧版本的取代,而旧版本文件 的来源正是 winsxs。XP 也有类似的功能,但 XP 下备份文件是可以直接删除的,Vista 和 Win7 下 不行。所以 Vista 和 Win7 占用的空间随着更新增多会越来越大,而且大得惊人。win sxs 里的文件非常重要,建议不要删除,以我长期的实践经验,暂时发 现只有ManifestCache 和 Temp 两个文件夹里的缓存文件才可以安全删除。特别提醒:网上所有精简winsxs的方法都有一定的危险性 (微软官方的工具除外) , 例如删除Backup文件夹或用空文件取代同名文件”,虽然它叫 Backup,但里面 绝对不是备份文件而是关系到系统

3、能否正常更新和正常打开或关闭 Windows 功能”的重要文件,某些大量被转载的文章都在误导人。某软件提供删除 Windows 内置字体,帮助文件的方法,其实这对于精简系 统是没有任何意义的,字体和帮助文件在 winsxs 还有一个备份,两个相同的文 件共用一个储存空间,换句话说,删除前和删除后 C 盘可用空间不变!但是注 意,如果你查看文件或者文件夹的属性,他们都会占空间。又如有人提出删除 winsxs 里同名文件较低版本的一个或几个,这是一个很 好的想法,但问题是有些同名文件的不同版本都有重要作用,都不能删除,例 如.NetFramework 的相关组件。winsxs 的瘦身方法:2/ 5

4、winsxs 目录下的文件都是系统要用的各种库文件,system32 下存放了这些dll 的最新的版本,所有老版本的dll 都放在 winsxs 下。所以只要你安装程序或者更新补丁,system32 下的文件就会被更新,而同时 winsxs 就会增加一些旧文件,所以我们的 C 盘空间就在持续不断地减少,直 到磁盘容量不够, 被迫重装系统为止, 如果你足够幸运, 可以直接安装最新的 SP 的话, 或许可以为 winsxs节约一点微薄的空间。本工具的设计思想就是删除所有的旧文件。所有满足如下全部条件的目录都会被移动C:Windowswinsxs_del 目录中。工具源代码如下红色字体部分,请保存为

5、.bat 格式即可。所有不再需要的文件会移动到 c:windowswinsxs_del 目录中,可以直接进行删除。执行时候,务必请使用管理员”权限。echo offrem 获取 windows 版本 set move_dir=%SystemRoot%winsxs_delif n ot exist%move_dir%nul md %move_dir%setwinver二non eFOR/Feol=;toke ns=4*delims=%ii n( ver)dosetw inv er=%iif %w inver% = none goto eno verecho win dows vers ion i

6、s %winv er%, ready to list win sxs dir.ifnot exist %SystemRoot%wi nsxsnul goto eno sxsset ver_prefix=%w inv er:0,-1%echo list win sxs fini shed! now ready to clear duplicated filesecho dir /ad%SystemRoot%wi nsxs*_%ver_prefix%*if %1 = run-win sxs-ge nerated goto :lSkipGenrem 准备生成代码 copy /y %f0 %temp%

7、nx0 nulecho rem gen eretedcode here %temp% n x0echo :ldcdStat1 %temp% nxOecho set en d4=%a:%ver_prefix%=% %temp% nxOecho goto ldcdStat2 3/ 5%temp%nxOecho :ldcdStat3 %temp% nxOecho set en d4a=%a:%wi nv er%=% %temp% nxOecho goto ldcdStat4 %temp% nxOremnotepad %temp% n x0%temp% n x0 run-win sxs- genera

8、tedgoto :EOFlSkipGe nFOR/Feol二;toke ns=1-4delims=%ai n( dir/ad %SystemRoot%wi nsxs*_%ver_prefix%*) do (if %c= call:fnDoClear %d)echo clear OK!goto :EOFeno verecho could not get win dows vers ion, abort!goto :EOFeno sxsech onotfoun d%SystemRoot%wi nsxs!maybe no privilegeorlowerwi ndows!echo on ly sup

9、port wi ndows XP and later!goto :EOFfnDoClearrem arg :dir_nameFOR/Feol二;toke ns=1-14delims二_%gi n( %1)doca:fnDoClearDir%1%g%h%i%j%k%l% mn %o %p %q %r %s %t%u %v %w %x %y %zgotoEOFfnDoClearDirrem arg:dir_name dir_partsset d_name=%1rem 检查参数是否匹配 %winver%先跳过前两个同时准备组合新版本匹配名称,nv1 存当前版本,nv2 存当前的前一个版4/ 5本 s

10、et nv仁2_%3_set nv2=%2_%3_ldcdCycleif %4 = goto :EOFrem 检查是否 ver_prefix 开头,如果是则继续检查是否 win ver,如果不是winver 贝卩表示目标存在 set arg=%4rem set line=set end4=%arg%ver_prefix%=%rem %li ne%goto ldcdStat1ldcdStat2if %arg% = %end4% goto IdcdNextrem 检查是否 winver 开头rem set lin e=set en d4a=%arg%wi nv er%=%rem %li ne%go

11、to ldcdStat3ldcdStat4if not %arg% = %e nd4a% goto :EOFrem 至此则为 ver_prefix 开头且不等于 win ver 的目录名,检查最新版本是否存在,存在则可删除旧的 set n ewfou nd二falsefor/d %v in(%SystemRoot%wi nsxs% nv1%wi nver%.*_%5_*) do(if exist %v nul setnewfound=true)if %newfound% = true call :fnDelDir %d_name%goto :EOFldcdNextset nv2=% nv1%set nW=%n v2%4_shiftgoto IdcdCycJefnDelDirrem arg:direcho del %SystemRoot%wi nsxs%1takeow n /r If%SystemRoot%wi nsxs%1cacls %Syst

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论