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