乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      系統(tǒng)補(bǔ)丁檢測并安裝批處理

       mtjs 2011-02-19

      這是從網(wǎng)上發(fā)現(xiàn)的一份系統(tǒng)補(bǔ)丁安裝的批處理,;轉(zhuǎn)來放在自己的博客里參考,研究,學(xué)習(xí)。。。
      原文出處:在此
      [php]@ECHO off
      REM By Leo
      SET TITLE=Windows 補(bǔ)丁安裝腳本 V0.070408
      TITLE %TITLE%
      SETLOCAL ENABLEDELAYEDEXPANSION
      SET PATCHFLAG=KB
      SET CAT=%PATCHFLAG%*.cat
      SET PATCHLIST="%temp%\patcheslist.tmp"
      SET INSTALLED=√ 已安裝
      SET NOTINSTALLED=× 未安裝
      SET DELIMS=—————————————–
      SET PATCH_TOTAL=0
      SET PATCH_NOTINSTALLED=0
      SET FLAG_INSTALLED=1*
      SET FLAG_NOTINSTALLED=0*

      :main
      TITLE 正在搜索… — %TITLE%
      ECHO 正在搜索當(dāng)前目錄"%cd%"及其子目錄下的補(bǔ)丁…
      ECHO 如果想在搜索完成后立即安裝未安裝的補(bǔ)丁,請按回車。
      ECHO.
      REM 搜索補(bǔ)丁,沒有搜索到則退出,否則繼續(xù)。
      CALL :pfind || (call :error 1& goto :eof)
      ECHO.
      :confirm
      TITLE 請選擇要安裝的補(bǔ)丁 — %TITLE%
      ECHO 搜索到如上%PATCH_TOTAL%個(gè)補(bǔ)丁,其中%PATCH_NOTINSTALLED%個(gè)未安裝。安裝全部請輸入ALL,否則請直接按回車安裝尚未安裝的補(bǔ)丁。
      SET confirm=
      SET /p confirm=
      IF /i "%confirm%" == "ALL" (SET confirm=
      ) ELSE IF not defined confirm (SET confirm=%FLAG_INSTALLED:~0,1%
      ) ELSE GOTO confirm
      ECHO %DELIMS%
      ECHO.
      ECHO 正在安裝,請稍候。安裝程序不會(huì)搶占窗口焦點(diǎn),所以你可以干點(diǎn)別的:)
      ECHO.
      CALL :setup %confirm%
      del %PATCHLIST% 2>nul >nul
      TITLE 安裝已結(jié)束 — %TITLE%
      ECHO %DELIMS%
      ECHO.
      ECHO 安裝已結(jié)束。要使補(bǔ)丁生效,你可能需要手動(dòng)重新啟動(dòng)計(jì)算機(jī)。
      ECHO 按任意鍵退出。
      SET TITLE=
      ENDLOCAL
      PAUSE >nul
      TITLE %ComSpec%
      goto :eof

      REM 安裝補(bǔ)丁
      :setup
      if "%1" == "" (set patchsum=%PATCH_TOTAL%) ELSE set patchsum=%PATCH_NOTINSTALLED%
      set patch_counter=0
      FOR /f "eol=%1 usebackq tokens=2,*" %%i in (%PATCHLIST%) DO (
      set /a patch_counter+=1
      TITLE !patch_counter!/%patchsum%-%%i — %TITLE%
      set nobackup=nobackup
      echo %%i | find /i "%PATCHFLAG%8" 2>nul >nul && set nobackup=n
      %%j /quiet /passive /norestart /!nobackup! 2>nul >nul
      ECHO !patch_counter!/%patchsum% %%i √)
      goto :eof

      REM 搜索當(dāng)前目錄下的補(bǔ)丁,返回非零值為失敗。
      :pfind
      SET REG=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
      SET listinreg="%temp%\listinreg.tmp"
      reg query %reg%>%listinreg%
      del %PATCHLIST% 2>nul >nul
      REM 補(bǔ)丁是一個(gè)壓縮包
      FOR /r %%i in (*%PATCHFLAG%*.exe) DO CALL :pfind.sub "%%~ni" "%%~fi" "%%~sfi"
      REM 補(bǔ)丁在壓縮包展開后的目錄內(nèi)
      FOR /r %%i in (%cat%) DO IF exist %%~dpiupdate.exe FOR /f %%j in ("%%~dpiupdate.exe") DO CALL :pfind.sub "%%~ni" "%%~fj" "%%~sfj"
      IF not exist %PATCHLIST% EXIT /b 1
      sort %PATCHLIST% /o %PATCHLIST%
      rem 得到補(bǔ)丁個(gè)數(shù)
      FOR /f "tokens=3 delims= " %%i in (‘find /c /i "%FLAG_NOTINSTALLED%" %PATCHLIST%’) DO SET PATCH_NOTINSTALLED=%%i
      FOR /f "tokens=3 delims= " %%i in (‘find /c /i "%FLAG_INSTALLED%" %PATCHLIST%’) DO SET /a PATCH_TOTAL=%%i + %PATCH_NOTINSTALLED%
      del %listinreg% 2>nul >nul
      IF not defined patch_total EXIT /b 2
      IF %patch_total% LSS 1 EXIT /b 3
      EXIT /b 0
      goto :eof
      REM 看看補(bǔ)丁安裝了沒,然后寫到標(biāo)準(zhǔn)輸出和%PATCHLIST%內(nèi)
      :pfind.sub
      IF "%~3" == "" GOTO :eof
      CALL :getkbnum %1
      SET id=!errorlevel!
      IF not "!id!" == "-1" (
      find /i "!id!" %listinreg% 2>nul >nul && (
      set status=%FLAG_INSTALLED%& set isinstalled=%INSTALLED%
      )||(set status=%FLAG_NOTINSTALLED%& set isinstalled=%NOTINSTALLED%)
      ECHO !status! %PATCHFLAG%!id! %2>>%PATCHLIST%
      ECHO !isinstalled! %PATCHFLAG%!id! %3
      )
      goto :eof

      REM 返回給定字串中的KB號,返回-1表示失敗。
      :getkbnum
      SETLOCAL ENABLEDELAYEDEXPANSION
      SET str=%~1
      IF not defined str EXIT /b -1
      IF not defined PATCHFLAG SET PATCHFLAG=KB
      echo %PATCHFLAG%>getsize.tmp
      for %%i in (getsize.tmp) do SET /a offset=%%~zi-2
      del getsize.tmp 2>nul >nul
      SET start=0
      REM 僅有%PATCHFLAG%則返回-1
      IF /i "%str%" == "%PATCHFLAG%" EXIT /b -1
      REM 刪除%PATCHFLAG%前的字符,刪除失敗則返回-1
      :getkbnum.findkb
      IF "%~1" == "!str!" (IF "!str:~%start%,%offset%!" == "" (EXIT /b -1
      ) ELSE IF /i "!str:~%start%,%offset%!" == "%PATCHFLAG%" (SET str=!str:~%start%!
      ) ELSE (SET /a start+=1 & goto getkbnum.findkb))
      REM 僅有%PATCHFLAG%則返回-1
      SET str=!str:~%offset%!
      IF "%str%" == "" EXIT /b -1
      SET start=0
      REM 保證%PATCHFLAG%后的第一個(gè)字符不是數(shù)字時(shí),仍能返回-1
      IF "!str:~%start%,1!" GTR "9" EXIT /b -1
      IF "!str:~%start%,1!" LSS "0" EXIT /b -1
      REM 返回%PATCHFLAG%后的數(shù)字
      :getkbnum.findnum
      IF "!str:~%start%,1!" GTR "9" EXIT /b !str:~0,%start%!
      IF "!str:~%start%,1!" LSS "0" EXIT /b !str:~0,%start%!
      SET /a start+=1
      goto getkbnum.findnum
      ENDLOCAL
      EXIT /b -1

      :error
      TITLE ERROR — %TITLE%
      IF "%1" == "1" (ECHO 沒有找到補(bǔ)丁。使用的搜索規(guī)則是:CAT:%cat%,PATCHFLAG:%PATCHFLAG%。程序已結(jié)束。)
      SET TITLE=
      PAUSE >nul
      TITLE %ComSpec%
      goto :eof[/php]





        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多