<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 41,  comments - 40,  trackbacks - 0

    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ::
    :: Author: NeedJava
    ::
    :: Modified: 2007-07-07
    ::
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    @ECHO OFF


    SETLOCAL EnableDelayedExpansion

    ECHO 搜索可用的〔JRE〕路徑,按任意鍵繼續(xù)。

    PAUSE>NUL


    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ::
    :: 先找到j(luò)ava.exe文件,得到主要路徑,然后根據(jù)java.exe附近一些有特點的文件,
    ::
    :: 來判斷是否是有效的路徑。
    ::
    :: 沒辦法識別人為制造的惡意路徑,除非每個文件都用MD5辨認。
    ::
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    DEL /F /Q JRE.txt 2>NUL

    FOR %%a IN ( C D E F G H I J K L M N O P Q R S T U V W X Y Z ) DO (

    ??? IF EXIST "%%a:\" (

    ?????? ECHO 正在〔%%a:〕盤下搜索……

    ?????? FOR /F "delims=" %%b IN ( 'DIR /A-D /B /S "%%a:\java.exe" 2^>NUL' ) DO (

    ?????????? SET "JRELocation=%%~dpb"

    REM??????? ECHO [%%~fb] & ECHO [!JRELocation!] & PAUSE

    REM??????? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    REM??????? ::
    REM??????? :: 去除末尾的“\bin\”
    REM??????? ::
    REM??????? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    REM??????? IF /I "!JRELocation:~5!"=="\bin\" (
    REM
    REM?????????? SET "JRELocation=!JRELocation:~0,5!"
    REM
    REM?????????? ECHO [!JRELocation!] & PAUSE
    REM
    REM??????? )

    REM??????? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    REM??????? ::
    REM??????? :: 這是JDK內(nèi)含的JRE
    REM??????? ::
    REM??????? :: C:\Program Files\Java\jdk1.5.0_12\bin\java.exe
    REM??????? ::
    REM??????? :: C:\Program Files\Java\jdk1.5.0_12\jre\bin\java.dll
    REM??????? ::
    REM??????? :: C:\Program Files\Java\jdk1.5.0_12\jre\bin\client\jvm.dll
    REM??????? ::
    REM??????? :: C:\Program Files\Java\jdk1.5.0_12\jre\lib\rt.jar
    REM??????? ::
    REM??????? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ?????????? IF EXIST "!JRELocation!\..\jre\bin\java.dll" (

    ????????????? IF EXIST "!JRELocation!\..\jre\bin\client\jvm.dll" (

    ???????????????? IF EXIST "!JRELocation!\..\jre\lib\rt.jar" (

    ??????????????????? CALL :version !JRELocation!

    ???????????????? )

    ????????????? )

    ?????????? )

    REM??????? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    REM??????? ::
    REM??????? :: 這是單獨的JRE,必須剔除JDK內(nèi)含JRE的情況,防止重復(fù)
    REM??????? ::
    REM??????? :: C:\Program Files\Java\jre1.5.0_12\bin\java.exe
    REM??????? ::
    REM??????? :: C:\Program Files\Java\jre1.5.0_12\bin\java.dll
    REM??????? ::
    REM??????? :: C:\Program Files\Java\jre1.5.0_12\bin\client\jvm.dll
    REM??????? ::
    REM??????? :: C:\Program Files\Java\jre1.5.0_12\lib\rt.jar
    REM??????? ::
    REM??????? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ?????????? IF EXIST "!JRELocation!\java.dll" (

    ????????????? IF EXIST "!JRELocation!\client\jvm.dll" (

    ???????????????? IF EXIST "!JRELocation!\..\lib\rt.jar" (

    ??????????????????? IF NOT EXIST "!JRELocation!\..\..\bin\java.exe" (

    ?????????????????????? CALL :version !JRELocation!

    ??????????????????? )

    ???????????????? )

    ????????????? )

    ?????????? )

    ?????? )

    ??? )

    )

    GOTO :show


    :version
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ::
    :: JAVA.EXE -version不是用標(biāo)準輸出流,而是用標(biāo)準錯誤輸出流
    ::
    :: 所以如果要輸出到文件,必須用錯誤流,即2>。輸出類似如下:
    ::
    :: java version "1.5.0_12"
    ::
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ECHO Found JRE: [%*]

    IF NOT "!JRELocation!"=="" IF "!JRELocation!"=="%*" (

    ?? "!JRELocation!\JAVA.EXE" -version 2>versionErr.txt 1>versionOut.txt

    ?? FOR /F "tokens=1,2,3,4* delims= " %%a IN ( versionErr.txt versionOut.txt ) DO (

    ?????? IF /I "%%a"=="java" IF /I "%%b"=="version" (

    ????????? SET "JREVersion=%%~c"

    ????????? ECHO JRE Version: [!JREVersion!] & ECHO.

    ????????? ECHO !JREVersion!^?!JRELocation!>>JRE.txt

    ?????? )

    ?? )

    ?? DEL /F /Q versionErr.txt 2>NUL

    ?? DEL /F /Q versionOut.txt 2>NUL

    )

    GOTO :EOF


    :show
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ::
    :: 不建議用START.EXE命令,防止關(guān)聯(lián)被篡改,直接調(diào)用記事本NOTEPAD.EXE打開。
    ::
    :: 其實后面用不著這個,這里只是為了方便查看。
    ::
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    IF EXIST JRE.txt "%SystemRoot%\NOTEPAD.EXE" JRE.txt


    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ::
    :: 下一步,就是自動設(shè)置環(huán)境變量path,使用INF文件改注冊表,如下:
    ::
    :: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path:
    ::
    :: "%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;"
    ::
    :: 可以讀出找到的JRE,讓使用者自己選擇用哪個JRE,用到的命令FOR、SET /P,以后再寫……
    ::
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::


    @ECHO ON

    ?

    ?
    posted on 2007-07-05 16:28 NeedJava 閱讀(1147) 評論(0)  編輯  收藏 所屬分類: DOS Windows
    主站蜘蛛池模板: 四虎影院永久免费观看| 亚洲av日韩av无码av| 无码中文字幕av免费放| 九九热久久免费视频| 亚洲国产aⅴ成人精品无吗| 久久精品国产亚洲AV麻豆不卡| 国产精品免费看香蕉| 日本三级2019在线观看免费| 99精品全国免费观看视频..| 亚洲熟女www一区二区三区| 久久夜色精品国产噜噜噜亚洲AV| 国产亚洲精品不卡在线| 性做久久久久免费看| 2021久久精品免费观看| 久久亚洲免费视频| 久久er国产精品免费观看8| 国产精品亚洲а∨天堂2021| 亚洲日本久久一区二区va| 免费成人在线视频观看| 免费精品视频在线| 久久水蜜桃亚洲AV无码精品| 亚洲乱码在线卡一卡二卡新区| 亚洲首页在线观看| 亚洲Av熟妇高潮30p| 久久久久久a亚洲欧洲aⅴ| 自拍偷自拍亚洲精品被多人伦好爽| 国产片免费福利片永久| 日本黄色免费观看| 免费无码黄动漫在线观看| 最近2019中文字幕mv免费看| 毛片免费视频观看| 两个人的视频高清在线观看免费| 免费毛片a在线观看67194| 18禁网站免费无遮挡无码中文| 99热在线免费播放| 在线免费中文字幕| 亚洲免费在线视频观看| 亚洲一级免费视频| 野花高清在线电影观看免费视频| 男男AV纯肉无码免费播放无码| 成熟女人特级毛片www免费|