Bat harjoitus

Koitan päästä alkuun batch.ien teon oppimisessa ja en keksi miten valinnat saa pelaamaan? Siten että jos valitsee 1 joutuu kohtaan 1 ja valitsee 2 niin menee kohtaan 2 jne.. ja homman pitäis pelata luuppina kaiken jälkeen alkuun mutta aina tulee vain 1 valitsi 1-2 tai 3, ja siihen se myös jää :/ Kaikkihan tuossa koodissa on varmaan pielessä mutta mitkä? ->>

@ECHO OFF
TITLE Harjoitus 3.0
COLOR 1F
echo 1. kohta
echo 2. kohta
echo 3. kohta
@ECHO OFF
pause > nul

:alku
if not errorlevel 1 goto eka
if not errorlevel 2 goto toka
if not errorlevel 3 goto kolmas

:eka
@ECHO OFF
cls
echo painoit 1
pause > nul
goto alku

:toka
@ECHO OFF
cls
echo painoit 2
pause > nul
goto alku

:kolmas
@ECHO OFF
cls
echo painoit 3
pause > nul
goto alku
7279
Äänestä

Muut lukivat myös

Vastaukset 7

Vanhimmat

Jos nyt haluat alkuun päästä niin älä nyt mitään .bat tiedostoja ainakaan säädä, ne varmaan kohta poistuu kohta kun Windows ympäristöihin tuli 15v sitten VBScript ja nyt on ollut jo muutaman vuoden Powershell.

Eli jos Windowsia haluat scriptata niin Powershelliä vaan kehiin niin ei tarvitse heti opetella uusiksi. Todennäköisesti suositeltavampaa olisi scriptata Pythonilla niin ole sitten sidottu pelkkään Windowsiin ja olisi aika standardia koodia.

Äänestä
  • vanhaa tarvitse unohtaa, jos kaverilla joku vanha dos-kone ja haluaa opiskella niin mikäpä siinä.

    Äänestä

Ongelma korjattu. Tai monikin mutta isoin oli palautusarvon puuttuminen ( choice /c:123 )

Jos tässä nyt innostuu enemmänkin niin tuo powershell vaikutti pikapuoliin katsottuna ihan passelilta. Täytynee hieman tutustua paremmin siihenkin.

Äänestä

nopea googlaus näytti että onkohan toi sun errorlevel oikeen.
kun porukat oli sitä mieltä että errorlevel 0 on että ohjelma on suoritettu onnistuneesti. command.com'in saa jotenkin bat tiedostojen debukkaus/testaus tilaan.

Äänestä

Errorlevelit täytyy testata käänteisessä
järjestyksessä tyyliin

if not errorlevel 3 goto kolmas
if not errorlevel 2 goto toka
if not errorlevel 1 goto eka

Muutakin vikaa voi olla, mutta vtuo ainakin.

Äänestä

Joo. Kyllä tuossa kokeilussani oli "sitä sun tätä mätää" mutta se toimiva koodi löytyi lopulta eli tämmöiseen päädyin->>

@echo off
title Harjoitus 3.1
:alku
cls
color 1F
echo 1. kohta
echo 2. kohta
echo 3. kohta

choice /n /c:123
if errorlevel 3 goto kolmas
if errorlevel 2 goto toka
if errorlevel 1 goto eka

:eka
cls
echo painoit 1
pause >nul
goto alku

:toka
cls
echo painoit 2
pause >nul
goto alku

:kolmas
cls
echo painoit 3
pause >nul
goto alku

Äänestä

Kommentoi aloitusta


kuinka ihmeessä se.. kirjoitti:

Koitan päästä alkuun batch.ien teon oppimisessa ja en keksi miten valinnat saa pelaamaan? Siten että jos valitsee 1 joutuu kohtaan 1 ja valitsee 2 niin menee kohtaan 2 jne.. ja homman pitäis pelata luuppina kaiken jälkeen alkuun mutta aina tulee vain 1 valitsi 1-2 tai 3, ja siihen se myös jää :/ Kaikkihan tuossa koodissa on varmaan pielessä mutta mitkä? ->>

@ECHO OFF
TITLE Harjoitus 3.0
COLOR 1F
echo 1. kohta
echo 2. kohta
echo 3. kohta
@ECHO OFF
pause > nul

:alku
if not errorlevel 1 goto eka
if not errorlevel 2 goto toka
if not errorlevel 3 goto kolmas

:eka
@ECHO OFF
cls
echo painoit 1
pause > nul
goto alku

:toka
@ECHO OFF
cls
echo painoit 2
pause > nul
goto alku

:kolmas
@ECHO OFF
cls
echo painoit 3
pause > nul
goto alku

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu