Keresés

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

  • Csontikka

    aktív tag

    válasz I02S3F #905 üzenetére

    Szia!

    Szerintem a tanár kódjában az a 2 sor arra szolgál, hogy szimbolizálja a működésbeli különbséget.

    & - a következő parancs mindenképp lefut, valójában több parancsot adsz meg 1 sorban
    && - ha az előző parancs kimenete 0 akkor lefut (vagyis ez már egy előfeltétel ellenőrzés)
    || - ha az előző parancs kimenete nem 0 akkor fut le (tehát ez is egy előfeltétel ellenőrzés)

    a konkrét feladatoknál:

    1)
    Először másol, ha sikeres volt, akkor töröl

    COPY szov.txt D:\ && DEL szov.txt

    && utáni rész csak akkor fut le ha sikeres volt az első parancs, vagyis ez így ok

    2)
    Csak akkor próbálja kiírni egy fájl tartalmát, ha az létezik

    DIR szov.txt >NUL && TYPE szov.txt

    && utáni rész csak akkor fut le ha sikeres volt az első parancs, vagyis ez is rendben, csak akkor fogja kiírni a tartalmát ha a dir parancs kimenete 0 volt, ami akkor áll elő, ha a file létezik.

    egy alternatív megoldás erre:
    if exist szov.txt type szov.txt
    (ha létezik szov.txt írd ki szov.txt tartalmát, ez is egyfajta előfeltétel)

    3)
    Próbálja ki vizsgálat nélkül is a végrehajtást

    DIR szov.txt >NUL & TYPE szov.txt

    itt viszont mivel csak 1 & jel van, így a második parancs is minden esetben lefut, függetlenül az első parancs kimenetétől, vagyis akkor is megpróbálja majd kiírni a szov.txt tartalmát, ha az nem is létezik

    4)

    btw:

    cls
    @echo off

    így a cls látszik, akkor inkább

    @echo off
    cls

    és akkor eltűnt minden.

    Üdv,
    Csontikka

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