|  | 
我也没法帮楼主测试,不过能给点改进的建议
| 原帖由 2011czmxbb52 于 2011-12-10 14:11 发表  for /f "delims=" %%a in ('dir /a-d /s ^|findstr /i /c:".msu"') do set /a b=!b!+1
 if /i "%b%"=="0" (
 echo 未检测到补丁!
 pause
 goto :patch
 )
上面这段,检测并统计补丁,如果补丁少效率没多少影响,但要是有个几百,上千个的话,用递归统计肯定会效率很差,
 findstr /i /c:".msu"  统计的并不是补丁后缀名, 如这样的文件名: "kb77899.msu.我不是补丁.txt"
 (微软就爱一月敲几个补巴.╮( ̄﹏ ̄)╭)
 下面这段代码 不会有上面的两个BUG
 
 复制代码
set b=
for /f %%i in ('dir /a-d/s *.msu ^|find /c /v ".*"') do set "b=%%i"
if not defined d  (
 echo.未检测到补丁!
 pause
 goto :patch
)
 if exist "%~dp0/dism.exe" set dismpath="%~dp0/dism.exe""%~dp0"  己经包含了一个 正斜械 "\"  dism.exe  的赋值会有问题.
 ( ̄▽ ̄)σ"
 不知道WIN7 的BAT功能 带不带自动纠错
 | 
 |