<rt id="me9r9"><small id="me9r9"></small></rt>
    1. <span id="me9r9"></span>
      <center id="me9r9"><optgroup id="me9r9"></optgroup></center>
    2. <li id="me9r9"></li>
    3. 
      
      <li id="me9r9"></li>
      <label id="me9r9"><samp id="me9r9"></samp></label>
        客服熱線:4006986916

        WinSxS文件夾為何持續變大?

        發布日期: 2022-04-15 17:05 瀏覽:112
        核心摘要:tokens=1-14 delims=_" %%g in ("%1") do ( if "%%m" == "" ( set f_type=%%g set f_name=%%h set f_id=%%i set f_rev=%%j set f_lang=%%k set f_sign=%%l ) else ( if "%%n" == "" ( set f_type=%%g set f_name=%%h_%%i set f_id=%%j set f_rev=%%k set f_lang=%%l set f_si

                   WinSxS文件夾是冗余文件存儲的位置,通常位于冗余文件存儲的位置C:\Windows在目錄路徑下,文件夾下存儲的主要是系統備份、更新補丁備份,WinSxS隨著時間的推移,文件夾將逐漸成為系統盤中最大的文件夾。

           

                   WinSxS為什么文件夾繼續變大?事實上,WinSxS文件夾的具體功能是組件存儲,存儲在內部Windows重要的組件功能,比如熟悉的C:\Windows\system32目錄。

           

                   在WinSxS文件夾主要由三部分組成:

           

                   1、與Windows共享;

           

                   

           

                   ●

           

                   而WinSxS可以刪除文件夾,TA自身與C:\Windows\system32目錄創建了一個硬鏈接,因此很難直接查看資源管理器的實際大小,并且需要一定的權限來刪除文件夾。請參考下圖:

           

           

           

                   那么我們如何查看文件夾的實際大小呢?

           

                   ★cmd,然后右擊管理員;

           

                   命令2Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore,查詢當前WinSxS文件夾的實際大小;

           

           

           

                   ?WinSxS文件夾的實際容量小于Windows資源管理器的數據顯示。

           

                   如何刪除WinSxS文件?

           

                   .txt后綴為.bat雙擊打開,跟隨命令提示返回,等待命令完成(如果在此過程中有多個拒絕訪問字,則證明用戶賬戶的權限不夠高)。

           

                   如下:

                   

           @echo off
           set mxms=a
           if not "!mxms!" == "a" set mxms=&&%comspec% /V:ON /C %0 %* && goto :EOF
           set mxms=
           rem 算法描述:
           rem windows的winsxs目錄中文件夾的格式為:"類型_名字_庫id_版本號_語言_簽名"
           rem 檢查所有文件夾。如果發現有不同版本的文件,刪除所有舊版本的文件夾
           rem 需要注意分也可能包含多個下劃線
           rem 創建目錄
           set startT=%TIME%
           set move_dir=%SystemRoot%\winsxs_del
           if not exist %move_dir%\nul md %move_dir%
           set log=%temp%\winsxs-clear.log
           pushd "%SystemRoot%\winsxs"
           echo ===================== start TE% %TIME% ============================ >> "%log%"
           rem 遍歷winsxs所有文件夾目錄
           FOR /F "eol=; tokens=1-4 delims= " %%a in ('dir /ad /o-n %SystemRoot%\winsxs\*.*') do (
           if "%%c" == "<DIR>" if exist "%SystemRoot%\winsxs\%%d" call:fnDoClear %%d
           )

           

           echo ===================== OK! TE% %TIME% ============================ >> "%log%"
           echo clear OK!
           echo from %startT% to %TIME%. Check your '%move_dir%' please.
           echo view log from %log%
           set startT=
           set move_dir=
           popd
           goto :EOF

           

           :fnDoClear
           rem arg: dir_name
           rem 分解目錄名
           FOR /F "eol=; tokens=1-14 delims=_" %%g in ("%1") do (
           call:fnSplitName %1
           if not "%f_type%" == "" call:fnDoClearDir %1 !f_type! !f_name! !f_id! !f_rev! !f_lang! !f_sign!
           )
           goto :EOF

           

           :fnSplitName
           rem arg: dir_name
           rem return f_xxx vars
           set f_type=
           set f_name=
           set f_id=
           set f_rev=
           set f_lang=
           set f_sign=
           FOR /F "eol=; tokens=1-14 delims=_" %%g in ("%1") do (
           if "%%m" == "" (
           set f_type=%%g
           set f_name=%%h
           set f_id=%%i
           set f_rev=%%j
           set f_lang=%%k
           set f_sign=%%l
           ) else ( if "%%n" == "" (
           set f_type=%%g
           set f_name=%%h_%%i
           set f_id=%%j
           set f_rev=%%k
           set f_lang=%%l
           set f_sign=%%m
           ) else ( if "%%o" == "" (
           set f_type=%%g
           set f_name=%%h_%%i_%%j
           set f_id=%%k
           set f_rev=%%l
           set f_lang=%%m
           set f_sign=%%n
           ) else ( if "%%p" == "" (
           set f_type=%%g
           set f_name=%%h_%%i_%%j_%%k
           set f_id=%%l
           set f_rev=%%m
           set f_lang=%%n
           set f_sign=%%o
           ) else ( if "%%q" == "" (
           set f_type=%%g
           set f_name=%%h_%%i_%%j_%%k_%%l
           set f_id=%%m
           set f_rev=%%n
           set f_lang=%%o
           set f_sign=%%p
           ) else ( if "%%r" == "" (
           set f_type=%%g
           set f_name=%%h_%%i_%%j_%%k_%%l_%%m
           set f_id=%%n
           set f_rev=%%o
           set f_lang=%%p
           set f_sign=%%q
           ) else ( if "%%s" == "" (
           set f_type=%%g
           set f_name=%%h_%%i_%%j_%%k_%%l_%%m_%%n
           set f_id=%%o
           set f_rev=%%p
           set f_lang=%%q
           set f_sign=%%r
           ) else ( if "%%t" == "" (
           set f_type=%%g
           set f_name=%%h_%%i_%%j_%%k_%%l_%%m_%%n_%%o
           set f_id=%%p
           set f_rev=%%q
           set f_lang=%%r
           set f_sign=%%s
           ) else ( if "%%u" == "" (
           set f_type=%%g
           set f_name=%%h_%%i_%%j_%%k_%%l_%%m_%%n_%%o_%%p
           set f_id=%%q
           set f_rev=%%r
           set f_lang=%%s
           set f_sign=%%t
           ) else ( if "%%v" == "" (
           set f_type=%%g
           set f_name=%%h_%%i_%%j_%%k_%%l_%%m_%%n_%%o_%%p_%%q
           set f_id=%%r
           set f_rev=%%s
           set f_lang=%%t
           set f_sign=%%u
           ) else (
           echo ERROR: can not split "%1"
           )))))))))))))))
           )

           

           goto :EOF

           

           :fnDoClearDir
           rem arg: dir_name type namespace id revision lang sign
           rem 找到最新版本的目錄名
           call:fnStdVer %5
           set curorgver=%5
           set curver=%R_STDVER%
           set cursign=%7
           set R_STDVER=
           set newver=
           set neworgver=
           set newsign=
           FOR /F "eol=; tokens=1-4 delims= " %%a in ('dir /ad /o-n %2_%3_%4_*_%6_*') do (
           if "%%c" == "<DIR>" (
           call:fnSplitName %%d
           if not "%f_type%" == "" call:fnCompVer "!newve

        r!" !f_rev! !f_sign!
           )
           )
           rem 如果找不到,就回去
           if "%newver%" == "" goto :EOF
           rem 如果找到,清除所有舊版本
           echo keep %2_%3_%4 %6 version %neworgver%
           echo keep %2_%3_%4 %6 version %neworgver% >> "%log%"

           

           FOR /F "eol=; tokens=1-4 delims= " %%a in ('dir /ad /o-n %2_%3_%4_*_%6_*') do (
           if "%%c" == "<DIR>" (
           call:fnSplitName %%d
           if not "!f_type!" == "" (
           if not "!neworgver!" == "!f_rev!" if not "!newsign!" == "!f_sign!" (
           echo ... clear %2_%3_%4 %6 version !f_rev!
           echo ... clear %2_%3_%4 %6 version !f_rev! >> "%log%"
           call:fnDelDir "%%d"
           )
           )
           )
           )

           

           goto :EOF

           

           :fnCompVer
           rem oldver newver newsign
           rem result set var newver
           rem 分解ver左側填充0后,對每個部分進行比較
           set V1=%~1
           call:fnStdVer %2
           set V2=%R_STDVER%
           set R_STDVER=
           if "%~1" == "" set neworgver=%2&&set newver=%V2%&&set newsign=%3&& goto :EOF
           if /I "%V1%" LSS "%V2%" set neworgver=%2&&set newver=%V2%&&set newsign=%3&& goto :EOF
           goto :EOF

           

           :fnStdVer
           rem arg: ver
           FOR /F "eol=; tokens=1-10 delims=." %%v in ("%1") do call:fnStdVerImpl %%v %%w %%x %%y %%z
           goto :EOF

           

           :fnStdVerImpl
           rem major,minor,revision,build
           rem result set in R_STDVER
           set svi_1=0000000000%1
           set svi_2=0000000000%2
           set svi_3=0000000000%3
           set svi_4=0000000000%4
           set svi_5=0000000000%5
           set svi_6=0000000000%6
           set R_STDVER=%svi_1:~-10%.%svi_2:~-10%.%svi_3:~-10%.%svi_4:~-10%.%svi_5:~-10%.%svi_6:~-10%
           goto :EOF

           

           :fnDelDir
           rem arg: dir
           echo deleting %SystemRoot%\winsxs\%~1 >> "%log%"
           echo --- takeown >> "%log%"
           takeown /r /f "%SystemRoot%\winsxs\%~1" >> "%log%"
           echo --- takeown = %ERRORLEVEL% >> "%log%"

           

           echo --- cacls >> "%log%"
           cacls "%SystemRoot%\winsxs\%~1" /t /e /g everyone:f >> "%log%"
           echo --- cacls = %ERRORLEVEL% >> "%log%"

           

           echo --- move >> "%log%"
           move "%SystemRoot%\winsxs\%~1" "%move_dir%\%~1" >> "%log%"
           echo --- move = %ERRORLEVEL% >> "%log%"
           goto :EOF

                   

                   研究冗余文件比較麻煩。

        免責聲明:以上內容(如有圖片或視頻亦包括在內)為網絡轉載資源,內容的真實性、準確性和合法性未核實,本平臺僅提供查詢服務,如遇侵權、有害信息等,請聯系網站管理員QQ通知, 我們將在核實后24小時內刪除,感謝您的配合!
        下一篇:

        民旺保險柜全國售后電話(2024更新)

        上一篇:

        Win10系統任務欄自動隱藏的解除方法

         
         
        主站蜘蛛池模板: 色综合久久久久久久久五月| 久久综合亚洲色一区二区三区| 国产91色综合久久免费分享| 亚洲综合色一区二区三区小说| 日韩综合在线观看| 一本大道道无香蕉综合在线| 久久综合图区亚洲综合图区| 一本一道久久综合久久| 综合色就爱涩涩涩综合婷婷| 久久婷婷五月综合色丁香| 伊人色综合一区二区三区| 狠狠色狠狠色很很综合很久久 | 国产精品亚洲综合网站| 色爱区综合激情五月综合激情| 色噜噜综合亚洲av中文无码| 色视频综合无码一区二区三区| 亚洲国产精品综合一区在线| 伊人婷婷综合缴情亚洲五月 | 色婷婷色综合激情国产日韩| 色综合天天综一个色天天综合网| 婷婷综合缴情亚洲狠狠尤物| 亚州AV综合色区无码一区| 插插插色欲综合网| 精品国产综合成人亚洲区| 国产综合内射日韩久| 亚洲综合激情另类专区| 色婷婷综合缴情综免费观看| 天天综合天天添夜夜添狠狠添| 婷婷色香五月综合激激情| 久久伊人久久亚洲综合| 伊人久久大香线蕉综合Av| 国产亚洲综合色就色| 国产亚洲综合网曝门系列| 久久婷婷香蕉热狠狠综合| 婷婷综合久久中文字幕蜜桃三电影| 国内偷自视频区视频综合| 色欲人妻综合AAAAA网| 五月天婷婷综合网| 天天综合亚洲色在线精品| 激情综合色五月六月婷婷| 亚洲伊人成无码综合网 |