Hirdetés

Új hozzászólás Aktív témák

  • mepet
    addikt

    Sziasztok! Bocs, ha alap kérdés, még csak most ismerkedem a témával:

    Azt kellene bekérnie a batch-nek futás közben, hogy egy adott szoftverből a 32 v. a 64 bites verziót akarja-e telepíteni a user.

    Eddig jutottam, de nem műxik vmiért az IF:

    > type autoinstall_teszt.bat
    @echo Melyik Internet Explorer verziot telepitsem?
    @echo 1 - 32bites
    @echo 2 - 64bites
    SET /P BIT=
    @IF "%bit" == "1" echo egyes
    @IF "%bit" == "2" echo kettes
    :egyes
    @echo 32 bites IE telepitese
    @SET BIT=0
    @goto kesz
    :kettes
    @echo 64 bites IE telepitese
    @SET BIT=0
    :kesz
    @pause

    Tudnátok segíteni, hogy hol a hiba, vagy esetleg van-e valamilyen frappánsabb megoldás erre? Előre is köszönöm!

    Goto kell az ugráshoz. Goto után szabad kettőspontot rakni a címke elé, de engem zavart, ezeket töröltem.
    Változók leggyakrabban batch fájlokban: %valt%. Ciklusváltozóknál %%i.
    User input esetén mindig legyen valami alap hibakezelés is. Itt csak annyi a trükk, hogy elöl legyen, ha valamiért nem futnak le a goto-k, akkor mindenképpen belefut a hibába.
    Type sort REM-eltem, az csak kiírja a batch file tartalmát a képernyőrem gondolom ez nem kell.

    REM type autoinstall_teszt.bat
    @echo Melyik Internet Explorer verziot telepitsem?
    @echo 1 - 32bites
    @echo 2 - 64bites
    @SET /P bit=
    @IF "%bit%" EQU "1" goto egyes
    @IF "%bit%" EQU "2" goto kettes
    goto error
    :error
    @echo kilepek, mert nem 1 es nem 2.
    exit /b 1
    :egyes
    @echo 32 bites IE telepitese
    @SET BIT=0
    @goto kesz
    :kettes
    @echo 64 bites IE telepitese
    @SET BIT=0
    :kesz
    @pause

    Ha az elejére raksz egy @echo OFF sort, akkor nem kell minden sor elejére a @.
    Ha csak az OS-nél érdekel, hogy 32b vagy 64b, azt úgy szoktuk megnézni, ha van Program Files x86 könyvtár, akkor 64bites a windows.

Új hozzászólás Aktív témák