» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


 58 1234
发新话题
打印

[其他] WIN7最傻逼的地方,求解决!

windows文件夹占用总是莫名其妙的越来越大,现在差不多20G了。公司电脑硬盘小不是说换就换,求解决方法!


本帖最近评分记录
  • 晓得 激骚 +1 最骚 Rated by wap for mark 2012-5-16 11:05

TOP

养成良好的清理习惯和安装习惯



TOP

引用:
原帖由 isis520 于 2012-5-16 10:44 发表
养成良好的清理习惯和安装习惯
看清楚好吗?是WINDOWS文件夹容量问题


TOP

C盘只有18G,每天都要清理垃圾清理的,游走于崩溃边缘

TOP

posted by wap, platform: iPhone

mac用户岂不是要自尽了,蚕食硬盘空间还不让你知道,除非修改权限或者用大量工具清理才能搞掉很多废渣

当然,mac吃归吃,不影响效率和机能,硬盘满了一般用户就只能傻呵呵的买硬盘,加硬盘
win没做好这一点,所以就老被喷咯~~

TOP

posted by wap, platform: iPhone
引用:
原帖由 @洒家又回来了  于 2012/5/16 10:47 发表
看清楚好吗?是WINDOWS文件夹容量问题
windows目录下有个temp和installxxxx之类的文件夹,本身就是设计来增肥用的

TOP

罪魁祸首就是winsxs文件夹,已经突破10G了。
但是网上看来看去都建议不要动它,难道就真的对它没办法了吗?

TOP

不光是win7这样吧!

TOP

引用:
原帖由 HKE 于 2012-5-16 10:51 发表
posted by wap, platform: iPhone

windows目录下有个temp和installxxxx之类的文件夹,本身就是设计来增肥用的
这些当然会清理。现在就是winsxs的问题,越来越庞大了。是不是除了重装系统外没其他办法了?

TOP

这个不知道有人用过没?有效么?安全么?


因为磁盘空间不够了,所以想起来清理一下系统垃圾文件,主要目标就是臭名昭著的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

[ 本帖最后由 洒家又回来了 于 2012-5-16 10:57 编辑 ]

TOP

俺的星际2原来装在C盘,然后整体就为了清理垃圾腾空间折腾,后来干脆下决心删了装D盘,一下子省了10G出来,有半年多没管C盘剩多大地了。

C盘还是多分点吧   来个50G我想应该没啥破事了。

TOP

posted by wap, platform: Nokia (Lumia 800)

@晓得 mark

TOP

10L这个管用吗?

TOP

10楼这小工具敢不敢用啊?谁给说说。

TOP

我用了一下,WINSXS减了2、3G
原理就是把WINSXS里面的一些文件检查后移动出来,你可以把移动出来的文件放在其他分区。用个几天没有问题就删了,有问题就拷回去。简单实用。应该比较安全,只是删减力度还不够大

TOP

 58 1234
发新话题
     
官方公众号及微博