Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Batch Programozás

No description
by

Marancsics Tamás

on 3 November 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Batch Programozás

Batch?
Batch - köteg
Értékadás
String érték változóba:

SET
valt = Alma

Integer, egész számokat:

SET /A
valt = 21

Bármilyen változó kiiratása:

echo %
valt
%
Átirányítás
MS-DOS-ban a parancsok átirányítása a
>
és
<
jelekkel történik.

Pl.: ping www.google.com
>
ping.txt

Ping parancs eredményét a txt fájlba menti
Elágazások
Szelekció a batch programozásnál az
IF
és
IF NOT
kulcsszóval történik.
Ciklusok
A BATCH nyelv csak számláló ciklusok megvalósítására ad implicit lehetőséget
Batch Programozás
MS-DOS-ban a futtatható állományok három fajták lehetnek: COM, EXE és BAT kiterjesztésűek.

A BAT kiterjesztésű file-ok szöveges file-ok

Szerkesztehtő bármilyen szövegszerkesztő programmal

A kötegelt fájlok (batch fájlok) egy sor szabványos utasításból állnak
Példa: Hello World
@echo off
if

exist
"D:\file.ini" (
echo Found it
pause
)
else
(
echo Not found, creatin
echo random thoughts > D:\file.ini
pause
)

Feladat
Adj értéket egy szöveges változónak és egy szám változónak.

- Irasd ki a szöveget: Wellcome
változó


- Szorozd meg önmagával a szám vált. és írasd ki


Feladat
1. Vizsgáld meg, hogy az S:\ alatt létezik -e a következő fájl: erettsegi_tetelek_2016.txt
Ha nem akkor hozd létre, ha igen akkor ird ki, hogy megvan!

2. Változóba tárolj egy számot és vizsgáld:
Ha páros a szám akkor írd ki, hogy páros, ha nem páros akkor írd ki, hogy nem páros


FOR %%c in (halmaz) do parancs [parancsparaméterek]
pl.: for
/l
%%x in (1, 1, 100) do echo %%x
1..100-ig kiirja a számokat!

/l literál , /r fájlok, /d könyvtárak
(halmaz) = (start, lépés, cél)
Forrás: http://ss64.com/nt/for_l.html
Feladat
1. Ird ki a páros számokat 150-ig

2. Ird ki minden 3. számot x változó hosszan. mondjuk x legyen 23

3. Listázd ki a fájlokat az aktuális könyvtárad alatt.
Köszönöm szépen!
for /R %%i in (.\*) do @echo %%i
/R : fájlokon iterálás
.\* = ?
Fájlok kiiratása
Könyvtár kiiratása
for /D %%i in (.\*) do @echo %%i
@echo off
Set /a Even=7
%%
2
if %Even%
EQU
0 (
Echo Even
) Else (
echo Not Even
)
Ciklusok 2
for /F %%i IN (szamok.txt) DO echo %%i

vagy

for /F %%i IN (szamok.txt) DO
(
echo %%i
)

Egy szöveges fájl sorainak a kiolvasása:
Cimkék
goto Alma -
ugorj az almára

:Alma
echo alma
echo off
echo -----------------------
IF EXIST S:\DOS\ (goto dosexist) else goto dosnotexist

:dosexist
echo letezik, ezért töröljük
goto end

:dosnotexist
echo letezik, ezért töröljük
goto end

:end
echo kilepek
IF GOTO Feladat
CHOICE - választás
CHOICE /C:
123
/M
"1, 2 or 3."
1,2 és 3-ast lehet választani!
GOTO-val:
@echo off
cls
echo Menu
echo ====
echo 1. 1
echo 2. 2
echo 3. 3
@CHOICE /C:
123
IF ERRORLEVEL 3 GOTO three
IF ERRORLEVEL 2 GOTO two
IF ERRORLEVEL 1 GOTO one
GOTO end
:one
ECHO You have pressed "1"!
GOTO end
:two
ECHO You have pressed "2"!
GOTO end
:three
ECHO You have pressed "3"!
:end
@PAUSE.
Paraméterek
Mit nevezünk paraméternek????
md

dos
md parancsnak egy paramétert adtunk, a "dos"-t, mind könyvtár nevet
batch_file p1 p2 p3 p4 .... p9
Batch programban, hogy jelöljük???
%1 <--- p1
%2 <---p2
.
.
Feladat
Egy paraméterrel rendelkező batch file létrehozása.

Egy
paraméter
alapján létrehoz egy
könyvtárat
, ha nem létezik!!!

Ha létezik kiirja: "Nem tudom torolni, mert letezik!"
Feladat: Hozz létre egy batch file-t menüvel. Batch file tartalmazzon egy paramétert.
Menü négy pontból álljon
1. könyvtár létrehozása (paraméter alapján), ha létezik, ha nem jelezzük!
2. könyvtár törlése (paraméter alapján), ha nem létezik akkor jelezzük, ha igen akkor töröljük
3. listázzuk ki a könyvtárszerkezetet
4. kilépés
Megoldás
@echo off
cls
echo Menu
echo ========================
echo 1. Konyvtar letrehozasa
echo 2. Konyvtar torlese
echo 3. Konyvtar listazasa
echo 4. Kilepes
echo ========================
echo
echo Kerlek valassz (1-4):
@CHOICE /C:1234

IF ERRORLEVEL 4 GOTO kilep
IF ERRORLEVEL 3 GOTO lista
IF ERRORLEVEL 2 GOTO torles
IF ERRORLEVEL 1 GOTO letrehoz
GOTO kilep
:letrehoz
IF NOT EXIST %1 (md %1) ELSE (echo Lezeik mar!!!)
GOTO kilep
:torles
IF EXIST %1 (rd %1) ELSE ( echo Nem letezik!!!)
GOTO kilep
:lista
tree /f
GOTO kilep
:kilep
echo Kilepek...
@PAUSE.
Megoldás
@echo off
IF NOT EXIST
%1
(
echo Konyvtar letrehozva!
md

%1
) ELSE ( echo %1 konyvtar letezik mar!!!)
Feladat
Feladat: Hozz létre egy batch file-t menüvel.

+
Batch file tartalmazzon
kettő
paramétert.
minden egyes választást, parancsot
loggolja
a program egy
log.txt
-be!
Menü
négy
pontból álljon
1. könyvtár létrehozása (paraméter alapján), ha létezik, ha nem jelezzük!
2. ha létezik a könyvtár akkor a második paraméter (név) alapján hozzon létre egy fájlt (txt) . Tartalma a gép és a facebook.com közötti csomagok útvonalát!
3. ha létezik a txt fájlunk, akkor mutassuk meg.
4. kilépés
Segítség a feladat megoldásához!!!!
echo
.
> log.txt
egy új
üres sor
betöltése a fájlba
echo valami
>>
log.txt
log.txt fájlt
kiegészíti
echo valami
>
log.txt
log.txt fájlt
felülírja
REM
Megjegyzés.
Megjegyzés / comment írása, amit nem értelmez a kód!
IF

feltétel
(
echo valami
) ELSE (
echo valami
)
IF ELSE szerkezet. Zárójelek elhelyezkedése és a spacek helye fontos!!
for /F

"tokens=*"
%%i
in (valami.txt)
do valami
Egy fájl
sorain
való végig száguldás
MEGOLDÁS
Egyénileg... :)
Gyakorlás
Feladat: Hozz létre egy batch file-t menüvel.

Batch file tartalmazzon
három
paramétert.
minden egyes választást, parancsot
loggolja
a program egy
log.txt
-be!
Menü
négy
pontból álljon
1.
könyvtár létrehozása
(
első paraméter
alapján), ha létezik, ha nem jelezzük!
2. ha létezik a könyvtár akkor a
második paraméter (név)
alapján egy ciklussal hozzon létre különböző fájlokat!
A ciklus feltételét a
harmadik paraméter
adja, hogy hány
db file
-t hozzon létre ! pl.: %%2_1.txt, %%2_2.txt......

3. ha
létezik a könyvtár
, akkor
listázzuk ki a fájlokat!
4. kilépés
+
paraméter ellenőrzés
REM Paraméterek ellenőrzése
if [%1]==[] (
echo Hianyzik az elso parameter!!
GOTO kilep
)
Ilyet többet nem akarok látni!
copy con erdjegy.txt (
ha jolesz a dogam, lesz pizza >>%2.TXT
)
Megjegyzés:
Ezt kellett volna!:
ha jolesz a dogam, lesz pizza >%2.TXT
Full transcript