
關于篩選winsxs中版本號較低的文件夾的批處理由于無法在原創貼發布,所以發到這里該批處理是一年前開發的,當時共開發了三個版本最終有一個版本是比較成功的至于運行原理,現在忘了,現獻上代碼供大家討論試用由于不清楚winsxs里的深度詳細機理,所以只把掃描到的東西放到del.txt為了運行成功,建議用已管理員身份運行
nclick="copycode($('code0'));">復制代碼
- @echo off
- mode con:cols=80 lines=5
- setlocal enabledelayedexpansion
- set scan=
- set found=0
- for /f %%a in ('dir %windir%winsxs*/ad/b') do (
- set folder=%%a
- set folder=!folder:_= !
- set keyword1=
- set keyword2=
- set keyword3=
- set keyword4=
- for %%b in (!folder!) do (
- if !keyword4!== (
- set keyword4=!keyword3!) else (
- set keyword4=!keyword4!_!keyword3!)
- set keyword3=!keyword2!
- set keyword2=!keyword1!
- set keyword1=%%b)
- if defined keyword4 (
- for %%b in (version!keyword2!) do (
- if !keyword4!==!keyword! (
- if !%%b!== (
- set language=!language! !keyword2!
- set %%b=!keyword3!) else (
- set flag=
- set partnow=!keyword3:.= !
- set partnew=!%%b!
- for %%c in (!partnow!) do (
- if !flag!== (
- for /f tokens=1* delims=. %%d in (!partnew!) do (
- if%%c lss %%d set flag=0&set/a found+=1
- if%%c gtr %%d set flag=1&set/a found+=1
- set partnew=%%e)))
- if !flag!==0 echo %%a>>%~dp0del.txt
- if !flag!==1 (
- echo !keyword4!_!%%b!_!keyword2!_!keyword1!>>%~dp0del.txt
- set %%b=!keyword3!))) else (
- for %%c in (!language!) do set version%%c=
- set language=!keyword2!
- set %%b=!keyword3!
- set keyword=!keyword4!)))
- set/a scan+=1
- cls
- echo 已找到/掃描數:!found!/!scan!
- echo 正在掃描:%windir%winsxs%%a)
- cls
- echo 已找到/掃描數:!found!/!scan!
- echo 掃描完畢!
- pause>nul

