|
我也没法帮楼主测试,不过能给点改进的建议
原帖由 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功能 带不带自动纠错 |
|