为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

winsxs文件夹清理

2017-09-25 5页 doc 19KB 49阅读

用户头像

is_321575

暂无简介

举报
winsxs文件夹清理winsxs文件夹清理 清理winsxs文件夹 winsxs的文件夹位于Windows根目录,是一个超大的文件仓库,系统所在分区几乎所有的系统文件都在那里至少有一个备份。有兴趣的网友不妨通过搜索功能在winsxs搜一下公用视频、公用图片、公用音乐文件夹里的文件,你会发现那些精简系统时已经被删除了的文件在winsxs里还可以找到影子。假如系统文件被删除或者破坏,用命令sfc /scannow就可以恢复,但如果将winsxs里面的任何一个重要的组件删除,sfc命令就会失效。系统在线更新的过程是旧版本文件被新版本的取代,旧文件自...
winsxs文件夹清理
winsxs文件夹清理 清理winsxs文件夹 winsxs的文件夹位于Windows根目录,是一个超大的文件仓库,系统所在分区几乎所有的系统文件都在那里至少有一个备份。有兴趣的网友不妨通过搜索功能在winsxs搜一下公用视频、公用图片、公用音乐文件夹里的文件,你会发现那些精简系统时已经被删除了的文件在winsxs里还可以找到影子。假如系统文件被删除或者破坏,用命令sfc /scannow就可以恢复,但如果将winsxs里面的任何一个重要的组件删除,sfc命令就会失效。系统在线更新的过程是旧版本文件被新版本的取代,旧文件自动备份在winsxs里;卸载补丁的过程是系统新版本文件被旧版本的取代,而旧版本文件的来源正是winsxs。XP也有类似的功能,但XP下备份文件是可以直接删除的,Vista和Win7下不行。所以Vista和Win7占用的空间随着更新增多会越来越大,而且大得惊人。winsxs里的文件非常重要,建议不要删除,以我长期的实践经验,暂时发现只有ManifestCache和Temp两个文件夹里的缓存文件才可以安全删除。 特别提醒:网上所有精简winsxs的方法都有一定的危险性(微软官方的工具除外),例如“删除Backup文件夹或用空文件取代同名文件”,虽然它叫Backup,但里面绝对不是备份文件而是关系到系统能否正常更新和正常“打开或关闭Windows功能”的重要文件,某些大量被转载的文章都在误导人。某软件提供删除Windows内置字体,帮助文件的方法,其实这对于精简系统是没有任何意义的,字体和帮 助文件在winsxs还有一个备份,两个相同的文件共用一个储存空间,换句话说,删除前和删除后C盘可用空间不变~但是注意,如果你查看文件或者文件夹的属性,他们都会占空间。又如有人提出删除winsxs里同名文件较低版本的一个或几个,这是一个很好的想法,但问题是有些同名文件的不同版本都有重要作用,都不能删除,例如.Net Framework的相关组件。 winsxs的瘦身方法: winsxs目录下的文件都是系统要用的各种库文件,system32下存放了这些dll的最新的版本,所有老版本的dll都放在winsxs下。所以只要你安装程序或者更新补丁,system32下的文件就会被更新,而同时winsxs就会增加一些旧文件,所以我们的C盘空间就在持续不断地减少,直到磁盘容量不够,被迫重装系统为止,如果你足够幸运,可以直接安装最新的SP的话,或许可以为winsxs节约一点微薄的空间。 本工具的设计思想就是删除所有的旧文件。所有满足如下全部条件的目录都会被移动C:\Windows\winsxs_del目录中。 工具源代码如下红色字体部分,请保存为.bat格式即可。所有不再需要的文件会移动到c:\windows\winsxs_del目录中,可以直接进行删除。执行时候,务必请使用“管理员”权限。 @echo off rem 获取windows版本 set move_dir=%SystemRoot%\winsxs_del if not exist %move_dir%\nul md %move_dir% set winver=none FOR /F "eol=; tokens=4* delims=] " %%i in ('ver') do set winver=%%i if "%winver%" == "none" goto enover echo windows version is %winver%, ready to list winsxs dir. if not exist %SystemRoot%\winsxs\nul goto enosxs set ver_prefix=%winver:~0,-1% echo list winsxs finished! now ready to clear duplicated files echo dir /ad %SystemRoot%\winsxs\*_%ver_prefix%* if "%1" == "run-winsxs-generated" goto :lSkipGen rem 准备生成代码 copy /y "%~f0" "%temp%\%~nx0" > nul echo rem genereted code here >> "%temp%\%~nx0" echo :ldcdStat1 >> "%temp%\%~nx0" echo set end4=%%arg:%ver_prefix%=%%>> "%temp%\%~nx0" echo goto ldcdStat2 >> "%temp%\%~nx0" echo :ldcdStat3 >> "%temp%\%~nx0" echo set end4a=%%arg:%winver%=%%>> "%temp%\%~nx0" echo goto ldcdStat4 >> "%temp%\%~nx0" rem notepad "%temp%\%~nx0" "%temp%\%~nx0" run-winsxs-generated goto :EOF :lSkipGen FOR /F "eol=; tokens=1-4 delims= " %%a in ('dir /ad %SystemRoot%\winsxs\*_%ver_prefix%*') do ( if "%%c" == "" call:fnDoClear %%d ) echo clear OK! goto :EOF :enover echo could not get windows version, abort! goto :EOF :enosxs echo not found %SystemRoot%\winsxs! maybe no privilege or lower windows! echo only support windows XP and later! goto :EOF :fnDoClear rem arg: dir_name FOR /F "eol=; tokens=1-14 delims=_" %%g in ("%1") do call:fnDoClearDir %1 %%g %%h %%i %%j %%k %%l %%m n %%o %%p %%q %%r %%s %%t %%u %%v %%w %%x %%y %%z goto :EOF :fnDoClearDir rem arg: dir_name dir_parts set d_name=%1 rem 检查参数是否匹配 %winver%, 先跳过前两个.同时准备组合新版本匹配名称,nv1存当前版本,nv2存当前的前一个版本 set nv1=%2_%3_ set nv2=%2_%3_ :ldcdCycle if "%4" == "" goto :EOF rem 检查是否 ver_prefix 开头,如果是则继续检查是否winver,如果不是winver则表示目标存在 set arg=%4 rem set line=set end4=%%arg:%ver_prefix%=%% rem %line% goto ldcdStat1 :ldcdStat2 if "%arg%" == "%end4%" goto ldcdNext rem 检查是否 winver 开头 rem set line=set end4a=%%arg:%winver%=%% rem %line% goto ldcdStat3 :ldcdStat4 if not "%arg%" == "%end4a%" goto :EOF rem 至此则为 ver_prefix 开头 且 不等于 winver 的目录名,检查 最新版本是否存在,存在则可删除旧的 set newfound=false for /d %%v in ("%SystemRoot%\winsxs\%nv1%%winver%.*_%5_*") do ( if exist %%v\nul set newfound=true ) if "%newfound%" == "true" call:fnDelDir %d_name% goto :EOF :ldcdNext set nv2=%nv1% set nv1=%nv2%%4_ shift goto ldcdCycle :fnDelDir rem arg: dir echo del %SystemRoot%\winsxs\%1 takeown /r /f "%SystemRoot%\winsxs\%1" cacls "%SystemRoot%\winsxs\%1" /t /e /g everyone:f move "%SystemRoot%\winsxs\%1" "%move_dir%\%1" goto :EOF 说明:以上内容为转载有删节。上述红色字体为代码,经本人亲测可用,不过删除的内容有限,25%吧,主要是有些文件名/扩展名太长了,无法删除。但效果也相当可观,大家不凡试试看,真的不错。
/
本文档为【winsxs文件夹清理】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索