您的位置 首页 > 操作系统

winsxs不能压缩啊

winsxs不能压缩啊

       感谢大家在这个winsxs不能压缩啊问题集合中的积极参与。我将用专业的态度回答每个问题,并尽量给出具体的例子和实践经验,以帮助大家理解和应用相关概念。

1.winsxs文件夹压缩之后可以把原文件删除吗

2.Windows7再提速!winsxs文件夹优化

3.winsxs是什么文件夹 Winsxs文件夹可以删除吗

4.C盘都没空间了 查了查在C:/windous/winsxs下有好多x86_xnacc.inf.resources_31bf3856ad364e35_6.1.7600.163

winsxs不能压缩啊

winsxs文件夹压缩之后可以把原文件删除吗

       如果你是这样压缩的 压缩后任然是文件夹图标.不过字体变蓝色了 那没问题

       但如果你是用winrar等软件 生成了一个压缩包.那winsxs文件夹绝对不能删.你也删不了.

Windows7再提速!winsxs文件夹优化

       因为磁盘空间不够了,所以想起来清理一下系统垃圾文件,主要目标就是臭名昭著的winsxs目录。这个winsxs就是微软为了解决“dll hell”问题,结果是好比在windows系统里安置了一个毫无节制不断增大的“肿瘤”。听说微软研究院现在在研究这个问题,不过我想我的硬盘空间不够大,等不到这个补丁出来的时候,所以只好自己动手了。

       winsxs目录下的文件都是系统要用的各种库文件,system32下存放了这些dll的最新的版本,所有老版本的dll都放在winsxs下。所以只要你安装程序或者更新补丁,system32下的文件就会被更新,而同时winsxs就会增加一些旧文件,所以我们的C盘空间就在持续不断地减少,直到磁盘容量不够,被迫重装系统为止,如果你足够幸运,可以直接安装最新的SP的话,或许可以为winsxs节约一点微薄的空间。

       本工具的设计思想就是删除所有的旧文件。所有满足如下全部条件的目录都会被移动到C:\Windows\winsxs_del目录中,你自行决定是否删除!建议运行几天再删!请保存为winsxs_clear.bat即可

        @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" == "<DIR>" 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

winsxs是什么文件夹 Winsxs文件夹可以删除吗

       不知道大家注意过没有,在Vista和Windows7系统盘的Windows目录下,有一个名为winsxs的文件夹,对于整个Windows目录来说,这个文件夹就占用了其一半多的体积(近3GB)不但如此,随着系统使用时间的不断延长,winsxs文件夹的体积还会变得更大,我的现在已经4G多了,这真是一块“赘肉”呀!

       对于系统盘空间本来就不很富裕的朋友来说,这快“赘肉”难免会拖慢系统的运行速度。如果仅仅是因为这个原因,就对硬盘重新分区以让系统盘的空间变得更大,接着重装系统,这也实在是太麻烦了!其实,我们可以采取一个更简单的方法,将winsxs这一块“赘肉”扔到其他硬盘分区下,为系统盘腾出更大的未用空间从而让系统跑得更快。下面,笔者就以Windows 7为例子,给大家介绍一下具体的操作步骤

       Tips:winsxs文件夹的作用

       winsxs是VISTA/Windows 7的Windows目录下一个非常重要的文件夹,该文件夹里边有很多重要的组件,版本也很复杂,为了保证Windows的正常运行,里面的文件是不可删除的,这些文件夹支撑着mscorwks.dll,没有它们nmscorwks也无法加载。如果强行删除后,可能只能以安全模式能勉强进入Windows,Windows也就“挂”了。

       第一步:建立链接。先从官方下载 “PendMoves和 MoveFile",然后将下载的名为”PendMoves“的ZIP格式压缩包解压到 “X:\Windows\System32"目录下(X是系统盘,下同);再单击菜单“开始—运行”,接着在弹出的“运行”对话框中出入Cmd并按下“Ctrl+Shift+Enter"快捷键,以管理员身份运行Cmd,打开”命令提示符“窗口;最后窗口的光标处依次执行以下两条命令(每输入一条命令都要按下回车键,下同)

       cd \windows

       mklink /X winsxs.link winsxs.moved

       第二步:获取对winsxs文件夹的完全控制权限。双击桌面的“计算机”图标,依次定位到“X:\Windows”目录下;接着右击该目录下的”winsxs“文件夹,选择”属性“,打开”winsxs属性“的对话框的”安全“选项卡并单击该选项卡的”高级“按钮,然后在新弹出的”winsxs的高级安全设置“对话框中切换到”所有者“选项卡并单击该选项卡的”编辑“按钮;再在弹出的对话框中选中”Administrators“选项并勾选”替换子容器和对象的所有者“复选框,最后单击”确定“按钮即可。

       第三步:重命名和复制文件。执行完第一步操作中的两条DOS命令后,接着在“命令提示符”窗口光标处依次执行以下两条命令:

       movefile? X:\Windows\winsxs? X:\Windows\winsxs.moved

       movefile? X:\Windows\winsxs.link? X:\Windows\winsxs

       这两条DOS命令的含义分别是:将“X:\Windows”目录下的“winsxs”文件夹重命名为“winsxs.moved”、将“X:\Windows”目录下的“winsxs.link”重命名为winsxs。

       完成文件夹及文件的重命名工作后,接着重新启动系统,再将“X:\Windows”目录下的“winsxs.moved”文件夹下的所有内容复制到系统盘以外某个硬盘分区的“Windows、winsxs”目录下(如“D:\Windows\winsxs”)即可。

       第四步:建立关联及删除“winsxs.moved”文件夹。再一次以管理员身份运行Cmd,然后在光标处依次执行以下三条命令:

       cd? \windows

       rmdir winsxs

       mklink /X winsxs D:\windows\winsxs

       后两条DOS命令的含义是:删除“X:\Windows”目录下名为“winsxs”的链接,然后在新建一个与之同名的链接,指向“D:\windows\winsxs“目录下。

       完成指向“D:\windows\winsxs“目录的名为”winsxs“的新链接的创建工作后,接着再重启系统,最后将”X:\Windows“目录下的名为”winsxs.moved“的文件夹删除就可以了。

       将“赘肉“winsxs文件夹扔到系统盘以外的其他分区下,从而为系统盘腾出更大的未用空间,Windows 7能够跑得更快这当然是理所当然的事情了。有此需要的朋友不妨一试。

       如果不小心把winsxs删除了,可以这样恢复:拿个系统盘然后在开始运行栏里输入sfc /scannow就可以进行修复。

C盘都没空间了 查了查在C:/windous/winsxs下有好多x86_xnacc.inf.resources_31bf3856ad364e35_6.1.7600.163

       C:/WINDOWS/winsxs 都是一些系统更新文件,里面有一些重要的系统文件,不能直接删除,但是winsxs文件夹会越来越大,很占用磁盘空间如图:

遵循一定方法是可以删除的,具体删除方法步骤如下:

       1、在C盘上单击右键,选择“属性”

       2、在弹出的属性窗口中,点击“磁盘清理”按钮

       3、在弹出的磁盘清理窗口中(会有几秒中的“正在计算”窗口),点击“清理系统文件”按钮

       4、磁盘清理条目中会列出“Service Pack备份文件”(本机已经清理过,故显示0字节,通常是以GB为单位),勾选该条目前的复选框,点击“确定”按钮

       5、在弹出的对话框上点击“删除文件”

       6、等待清理完毕后,重启计算机。

       这个文件夹底下的文件不能删除,而且也不一定能删除得掉!这些都是安装软件、补丁等等的文件。

       解决的办法就是移动能以到的系统文件到非C盘(比如:D盘)腾出C盘空间,或调整磁盘空间。

       将两大类文件外移出C盘(原则是:不将自有资源和操作系统合二为一):

       ①系统文件夹外移(《我的文档》、《我的音乐》、《我的》、《收藏夹》等等)

       ②凡是安装软件的时候给出选择路径,全部将C改成D即可(后缀路径不更改)

       ③关闭系统自带的还原程序,使用手动备份镜像文件。可参考下文(已经将相关资料打入Hi之中)

       ④winsxs这个文件夹是可以压缩的,尤其是第一次成就感很大!试试看吧。

       参考资料:

★维护电脑→系统瘦身减肥→腾挪空间(可使用百度搜索引擎找到此文)

       参考资料:

优化电脑·转移系统文件夹·理顺空间(可以使用百度搜索引擎找到此博文)

       参考资料:

优化电脑·安装卸载有套路·逐一掌握(可以使用百度搜索引擎找到此博文)

       参考资料:

优化电脑·备份在先无后患·未雨绸缪(可以使用百度搜索引擎找到此博文)

       好了,关于“winsxs不能压缩啊”的话题就到这里了。希望大家通过我的介绍对“winsxs不能压缩啊”有更全面、深入的认识,并且能够在今后的实践中更好地运用所学知识。

热门文章