Upload
scott
View
31
Download
0
Embed Size (px)
DESCRIPTION
Operációs Rendszerek I. Ismerkedés a parancssorral Fájlkezelés parancssorból Egyszerű parancsfájlok. A parancssor (cmd). Jellemzői Majd minden OR alatt van valami hasonló Használata esetenként gyorsabb, mint a GUI alapú megoldásoké Lehet scriptet írni - PowerPoint PPT Presentation
Citation preview
Operációs Rendszerek I.
Ismerkedés a parancssorralFájlkezelés parancssorbólEgyszerű parancsfájlok
A parancssor (cmd)A parancssor (cmd)
JellemzőiJellemzőiMajd minden OR alatt van valami Majd minden OR alatt van valami hasonlóhasonlóHasználata esetenként gyorsabb, mint a Használata esetenként gyorsabb, mint a GUI alapú megoldásokéGUI alapú megoldásokéLehet scriptet írniLehet scriptet írniKevesebb erőforrás igény (mint GUI Kevesebb erőforrás igény (mint GUI esetén)esetén)Van history (előzmények)Van history (előzmények)
• könnyebb parancsot ismételnikönnyebb parancsot ismételni• log is egybenlog is egyben
Parancsok és kapcsolók Parancsok és kapcsolók pontos pontos szintaxisátszintaxisát ismerni kell (de…) ismerni kell (de…)
A parancssorA parancssor
indítása: futtatás indítása: futtatás cmd cmd
Indulási könyvtár: indítás helye / Indulási könyvtár: indítás helye / HOMEPATHHOMEPATH
kilépés: exitkilépés: exit
navigációnavigációParancssorban mozgás: kurzor, HOME és ENDParancssorban mozgás: kurzor, HOME és END
↑ ↑ és ↓ és ↓ history history
F7 F7 parancs history „ablakban” parancs history „ablakban”
fájlnév kiegészítés: TABfájlnév kiegészítés: TAB
Teljes képernyő: bal ALT+ENTERTeljes képernyő: bal ALT+ENTER
Ablak megjelenéseAblak megjelenése
Indítási paraméterekIndítási paraméterek/c : egyetlen (megadott) parancs végrehajtása/c : egyetlen (megadott) parancs végrehajtása/t:fg : színek beállítása (pl. 16)/t:fg : színek beállítása (pl. 16)/e:on : parancskiterjesztés engedélyezése/e:on : parancskiterjesztés engedélyezéseStb. (lásd cmd /? és HELP)Stb. (lásd cmd /? és HELP)
Címsoron jobb klikk Címsoron jobb klikk tulajdonságok tulajdonságokMűködési környezet beállításaMűködési környezet beállítása• Tippek: HELP „To configure the command prompt”Tippek: HELP „To configure the command prompt”
title parancs: ablak címének megadásatitle parancs: ablak címének megadása
Parancsok típusaiParancsok típusai
belső:belső:cmd.exe tudja pl.:cmd.exe tudja pl.:• dirdir• copycopy
külső parancsok külső parancsok másik exe-t másik exe-t futtat le:futtat le:
pl.: sort.exe pl.: sort.exe c: c:\Window\System32\Window\System32\\sort.exesort.exe• VagVagy nem, ez telepítéstől függ!y nem, ez telepítéstől függ!
Parancsok felépítéseParancsok felépítése
PParancsnév [kapcsolók] [paraméterek] arancsnév [kapcsolók] [paraméterek] pl: copy /y fajl1 fajl2 pl: copy /y fajl1 fajl2
Parancsok működése kapcsolókkal Parancsok működése kapcsolókkal (/kapcsolo) módosítható(/kapcsolo) módosíthatóKapcsolók egyidejű használata Kapcsolók egyidejű használata parancsfüggő (HELP), lehetnek egymást parancsfüggő (HELP), lehetnek egymást kizáró kapcsolók iskizáró kapcsolók isÁltalában mindig van: /?Általában mindig van: /?Ha a program mindenképpen vár Ha a program mindenképpen vár paramétert, de nem adjuk meg hibajelzésparamétert, de nem adjuk meg hibajelzésEgyszerre akár több paraméter is átadható Egyszerre akár több paraméter is átadható (vagy éppen átadandó)(vagy éppen átadandó)
SegítségSegítség
ForrásokForrások• Konvencionális kapcsoló: /?Konvencionális kapcsoló: /?• help „parancsnév”help „parancsnév”• Start menü – Segítség és támogatásStart menü – Segítség és támogatás
• Referencia: „Command-line reference A-Z”, Referencia: „Command-line reference A-Z”, „Command shell overview”„Command shell overview”
JelölésekJelölésekCOPY [/d] [/v] [/n] [{/y|/-y}] [/z] [{/a|/b}] Source [{/a|/b}] COPY [/d] [/v] [/n] [{/y|/-y}] [/z] [{/a|/b}] Source [{/a|/b}]
[+ Source [{/a|/b}] [+ ...]] [Destination [{/a|/b}]][+ Source [{/a|/b}] [+ ...]] [Destination [{/a|/b}]]
• COPY: a parancsCOPY: a parancs• Source, Destination: paraméterekSource, Destination: paraméterek• /d, /v, stb. : kapcsolók/d, /v, stb. : kapcsolók• [[/d/d] [destination] : opcion] [destination] : opcionális elemális elem• {/a|/b} {/a|/b} : egymást kizáró (együtt nem használható) : egymást kizáró (együtt nem használható)
elemek elemek
Fontosabb parancsokFontosabb parancsok
dir: könyvtár tartalmának listázásadir: könyvtár tartalmának listázása
cd: munkakönyvtár lekérése / cd: munkakönyvtár lekérése / beállításabeállítása
copy: fájlok másolásacopy: fájlok másolása
move / rename: fájlok mozgatása, move / rename: fájlok mozgatása, átnevezéseátnevezése
mkdir, rmdir: könyvtár létrehozás, mkdir, rmdir: könyvtár létrehozás, törléstörlés
edit: minimal editoredit: minimal editor
GyakorlásGyakorlás
AlapokAlapokIndítsa el a parancsértelmezőt (cmd)Indítsa el a parancsértelmezőt (cmd)Állítson be kék háttért és sárga betűketÁllítson be kék háttért és sárga betűketAz ablak címét állítsa át: „parancsaim”-raAz ablak címét állítsa át: „parancsaim”-ra
On-Line helpOn-Line helpHogyan lehet a „dir” parancsot úgy futtatni, hogy az csak Hogyan lehet a „dir” parancsot úgy futtatni, hogy az csak a fájlok neveit írja ki? (/B)a fájlok neveit írja ki? (/B)Melyik paranccsal lehet a c: meghajtó könyvtárstruktúráját Melyik paranccsal lehet a c: meghajtó könyvtárstruktúráját (fát) kiíratni?(fát) kiíratni?
Alapvető parancsok (minden lépés után ellenőrizze az Alapvető parancsok (minden lépés után ellenőrizze az eredményt)eredményt)
Hozzon létre egy „munkáim” könyvtáratHozzon létre egy „munkáim” könyvtáratEbben hozzon létre egy „valami.txt” fájlEbben hozzon létre egy „valami.txt” fájlKészítsen másolatot „fontos.txt” névenKészítsen másolatot „fontos.txt” névenA „valami.txt” fájl nevezze át „nemfontos.txt” névreA „valami.txt” fájl nevezze át „nemfontos.txt” névreTörölje le a létrehozott fájlokat és a könyvtáratTörölje le a létrehozott fájlokat és a könyvtárat
Fájlok és könyvtárakFájlok és könyvtárak
Diszk és könyvtárstruktúra (részletek később)Diszk és könyvtárstruktúra (részletek később)Diszkeket betűjelükkel azonosítjuk (pl. c:)Diszkeket betűjelükkel azonosítjuk (pl. c:)Diszkeken fa struktúrájú könyvtár-rendszerDiszkeken fa struktúrájú könyvtár-rendszerAz egyes könyvtárak közötti elválasztójel: ‘Az egyes könyvtárak közötti elválasztójel: ‘\\’’
Kitűntetett helyek (könyvtár struktúrában)Kitűntetett helyek (könyvtár struktúrában)Gyökér (kiinduló) könyvtár, jele: Gyökér (kiinduló) könyvtár, jele: \\Munkakönyvtár (aktuális könyvtár)Munkakönyvtár (aktuális könyvtár)Felhasználó „HOME” könyvtára (HOMEPATH környezeti változó)Felhasználó „HOME” könyvtára (HOMEPATH környezeti változó)
Fájl elérési utak megadásaFájl elérési utak megadásaabszolút elérés: gyökérkönyvtártól, a fát végigjárva adjuk megabszolút elérés: gyökérkönyvtártól, a fát végigjárva adjuk megRelatív megadás: a munkakönyvtárhoz képest (relatív) adjuk megRelatív megadás: a munkakönyvtárhoz képest (relatív) adjuk meg
• Hivatkozás az aktuális könyvtárra: ‘.’Hivatkozás az aktuális könyvtárra: ‘.’• Hivatkozás a szülő könyvtárra: ‘..’Hivatkozás a szülő könyvtárra: ‘..’
Elérési út megadása parancsoknálElérési út megadása parancsoknálAbszolút vagy relatívAbszolút vagy relatívElérés keresési út (PATH környezeti változó) segítségévelElérés keresési út (PATH környezeti változó) segítségévelHa nincs kiterjesztés: behelyettesít (exe, com, cmd, bat, stb.)Ha nincs kiterjesztés: behelyettesít (exe, com, cmd, bat, stb.)
Környezeti változókKörnyezeti változók
Különféle azonosítók tárolására alkalmasKülönféle azonosítók tárolására alkalmaspl. pl. SystemRoot, windir, UserNameSystemRoot, windir, UserName, PATH, PATH
Sajátgép/Tulajdonságok/Speciális/Környezeti Sajátgép/Tulajdonságok/Speciális/Környezeti változókváltozókKétféle környezeti változóKétféle környezeti változó
Felhasználó változóiFelhasználó változóiRendszerváltozókRendszerváltozók
Használatuk parancssorbanHasználatuk parancssorbanMegadásMegadás
set set PATHPATH==c:c:\mydir\mydirset PATH=%PATH%;c:\mydirset PATH=%PATH%;c:\mydirset ALMA=%PATH%;c:\mydirset ALMA=%PATH%;c:\mydir
Hivatkozás a változóra: %név%Hivatkozás a változóra: %név%echo %ALMA%echo %ALMA%
GyakorlásGyakorlás
PATHPATHKészítsen másolatot a „notepad.exe” fájlról (c:Készítsen másolatot a „notepad.exe” fájlról (c:\\windows\system32windows\system32) a saját könyvtárába „notesz.exe” ) a saját könyvtárába „notesz.exe” névennévenAz elérési út megváltozatásával biztosítsa, hogy a Az elérési út megváltozatásával biztosítsa, hogy a „notesz.exe” bárhonnan elindítható legyen„notesz.exe” bárhonnan elindítható legyen
Egyéb változókEgyéb változókHozzon létre egy munkakönyvtárat, majd egy Hozzon létre egy munkakönyvtárat, majd egy „enkonyvtaram” változót, amely értékként a könyvtár „enkonyvtaram” változót, amely értékként a könyvtár elérési útját tartalmazza!elérési útját tartalmazza!Az „enkonyvtaram” változó használatával másolja át a Az „enkonyvtaram” változó használatával másolja át a Windows system32 könyvtárában található összes Windows system32 könyvtárában található összes „com” típusú fájlt a létrehozott könyvtárba!„com” típusú fájlt a létrehozott könyvtárba!Törölje le az „enkonyvtaram” tartalmát és magát a Törölje le az „enkonyvtaram” tartalmát és magát a könyvtárat is!könyvtárat is!
ÁllománynevekÁllománynevek
Hossza legfeljebb 255 karakter lehetHossza legfeljebb 255 karakter lehetTartalmazhat szóközt és pontokat (többet)Tartalmazhat szóközt és pontokat (többet)Tartalmazhat ékezetes betűketTartalmazhat ékezetes betűketTiltott karakterek: ? * Tiltott karakterek: ? * \ / : < > | \ / : < > | Fájltípusok: kiterjesztés alapján dől elFájltípusok: kiterjesztés alapján dől elKiterjesztés az utolsó pont mögött álló rész Kiterjesztés az utolsó pont mögött álló rész (lehet több, mint 3 karakter)(lehet több, mint 3 karakter)
a „beépített” típusok (exe, cmd, stb.) mellett az a „beépített” típusok (exe, cmd, stb.) mellett az alkalmazások is regisztrálhatnak saját típusokat alkalmazások is regisztrálhatnak saját típusokat (asszociáció)(asszociáció)
Kis és nagybetűt megőrzi, de fájlok kezelésekor Kis és nagybetűt megőrzi, de fájlok kezelésekor nem veszi figyelembenem veszi figyelembeHosszú nevekhez rövid (8.3) változatú név Hosszú nevekhez rövid (8.3) változatú név létrehozása automatikusan megtörténiklétrehozása automatikusan megtörténik
A .txt fájlnévkiterjesztéshez tartozó A .txt fájlnévkiterjesztéshez tartozó fájltípustársítás törléséhez a fájltípustársítás törléséhez a következőt kell beírnia:következőt kell beírnia:FTYPE rtffile="C:\Program Files\Windows FTYPE rtffile="C:\Program Files\Windows NT\Accessories\WORDPAD.EXE" "%1"NT\Accessories\WORDPAD.EXE" "%1"
ASSOC .rtf=rtffileASSOC .rtf=rtffile
„„Gondok” az Gondok” az állománynevekkelállománynevekkel
Szóközök a névben: honnan „tudja” a Szóközök a névben: honnan „tudja” a parancs?parancs?Forrás: Forrás: elso masodikelso masodik Cél: Cél: harmadikharmadikcopy elso masodik harmadikcopy elso masodik harmadik (3 paraméter) (3 paraméter)Megoldás: idézőjelek használataMegoldás: idézőjelek használata
Kis és nagybetűkKis és nagybetűk• „„Idegen” rendszereknél (pl. Unix) gondokat Idegen” rendszereknél (pl. Unix) gondokat
okozhatokozhatNemzeti karakterek a nevekbenNemzeti karakterek a nevekben• A nevek az adott XP példány alapértelmezett A nevek az adott XP példány alapértelmezett
kódlapját használva konvertálódnak Unicode-ról, kódlapját használva konvertálódnak Unicode-ról, ez pedig már a magyar ékezeteknél is gond lehet ez pedig már a magyar ékezeteknél is gond lehet (pl. angol az alapértelmezett kódlap) – „Control (pl. angol az alapértelmezett kódlap) – „Control Panel/Regional and Language/Advanced”Panel/Regional and Language/Advanced”
Elnevezési tippekElnevezési tippek
ekezet nelkul (ha lehet)ekezet nelkul (ha lehet)
space nélkül, helyette alulvonás (_)space nélkül, helyette alulvonás (_)
kis-nagybetűk egységesen kis-nagybetűk egységesen
név önmagáért beszéljennév önmagáért beszéljenkésőbb is tudnunk kell mi az adott fájlkésőbb is tudnunk kell mi az adott fájl
ne legyen nagyon hosszúne legyen nagyon hosszú
GyakorlásGyakorlás
Nevükben szóközt tartalmazó fájlokNevükben szóközt tartalmazó fájlokLétrehoz: „Létrehoz: „almaalma”, „”, „körtekörte” és „” és „alma körtealma körte””Töröl Töröl alma körtealma körte (idézőjel nélkül) (idézőjel nélkül)Nézd meg mit csináltál…Nézd meg mit csináltál…Töröl Töröl alma körtealma körte (most már rendesen) (most már rendesen)
Kis és nagybetűKis és nagybetűLétrehoz: Létrehoz: almaalmaMásol: Másol: almaalma →→ KKörteörteMásol: Másol: almaalma →→ KKÖRTEÖRTEMásol: Másol: almaalma →→ kÖRTE kÖRTEHány körte van? Pontosan mi a neve?Hány körte van? Pontosan mi a neve?
Fájl és könyvtárkezelésFájl és könyvtárkezelés
Könyvtárak tartalmának listázása: dirKönyvtárak tartalmának listázása: dirAktuális (munka) könyvtár nevének lekérése: Aktuális (munka) könyvtár nevének lekérése: cdcdAktuális (munka) könyvtár megváltoztatása: Aktuális (munka) könyvtár megváltoztatása: cdcdKönyvtárváltás „visszaúttal”: pushd/popdKönyvtárváltás „visszaúttal”: pushd/popdTovábbi parancsokTovábbi parancsok
Könyvtár létrehozása: mkdirKönyvtár létrehozása: mkdirKönyvtár törlése: rmdirKönyvtár törlése: rmdir
• Alapértelmezés: csak üres könyvtárat enged törölni!Alapértelmezés: csak üres könyvtárat enged törölni!• /S kapcsoló: rekurzív törlés, akkor is megy, ha nem /S kapcsoló: rekurzív törlés, akkor is megy, ha nem
üres a könyvtárüres a könyvtár• /Q kapcsoló: /S esetén elnyomja a megerősítés kérést/Q kapcsoló: /S esetén elnyomja a megerősítés kérést
ÁtnevezésÁtnevezés
Alapvető fájlműveletekAlapvető fájlműveletek
Másolás: copyMásolás: copyccopy opy <srcfile> <dstfile><srcfile> <dstfile>Összefűzés: Összefűzés: ccopy opy <srcfile> <<srcfile> <++srcfile> srcfile> … … <dstfile><dstfile>
Mozgatás: moveMozgatás: move (átnevezésre is használható)(átnevezésre is használható)move move <srcfile> <dstfile><srcfile> <dstfile>
Átnevezés: rename/renÁtnevezés: rename/ren rename rename <src> <dst><src> <dst>, de dst esetében csak egy , de dst esetében csak egy fájlnév állhat, elérési út nem (semmilyen módon)!fájlnév állhat, elérési út nem (semmilyen módon)!
• rrename c:ename c:\tmp\alma.txt korte.txt \tmp\alma.txt korte.txt • rename rename c:c:\tmp\alma.txt c:\temp\korte.txt \tmp\alma.txt c:\temp\korte.txt
Törlés: delTörlés: del/erase/eraseddel el <file><file>RekurRekurzív törlés (alkönyvtárakban is): zív törlés (alkönyvtárakban is): del /s <file>del /s <file>
Fájlműveletek (folytatás)Fájlműveletek (folytatás)
Speciális „fájlok” – Unix örökség az Speciális „fájlok” – Unix örökség az eszközök eléréséhez (con, null, stb.)eszközök eléréséhez (con, null, stb.)
copy copy con con c:c:\tmp\alma.txt \tmp\alma.txt (CTRL-Z!)(CTRL-Z!)copy c:copy c:\tmp\alma.txt\tmp\alma.txt con concopy c:copy c:\tmp\alma.txt\tmp\alma.txt nul nul
XcopyXcopyRekurzív másolás (üres könyvtárak is): Rekurzív másolás (üres könyvtárak is):
xcopy a: b: /s /e xcopy a: b: /s /e Adott dátum után módosult fájlok másolása: Adott dátum után módosult fájlok másolása:
xcopy \rawdata \reports /d:12-xcopy \rawdata \reports /d:12-29-1993 29-1993 Ugyanez, dátum-korlát nélkül („egyszerű” Ugyanez, dátum-korlát nélkül („egyszerű” copy): copy): xcopy \rawdata \reports /uxcopy \rawdata \reports /u
GyakorlásGyakorlás
pushd/popdpushd/popdMilyen egyéb módon lehet biztosítani a Milyen egyéb módon lehet biztosítani a pushd/popd szolgáltatását (legalább egy pushd/popd szolgáltatását (legalább egy mélységig)?mélységig)?
CopyCopy3 szöveges fájl létrehozása (pár soros)3 szöveges fájl létrehozása (pár soros)Fájlok összefűzése egy fájlláFájlok összefűzése egy fájllá
Copy conCopy conFájl létrehozása „copy con” módonFájl létrehozása „copy con” módonFájl kiíratása „copy con” módonFájl kiíratása „copy con” módon
Xcopy próbálgatásaXcopy próbálgatása
Helyettesítő karekterekHelyettesítő karekterek
Probléma: valamilyen műveletet (pl. Probléma: valamilyen műveletet (pl. másolás, törlés) egyszerre több fájlon másolás, törlés) egyszerre több fájlon szeretnénk végrehajtaniszeretnénk végrehajtaniMegoldás: ha a fájlok nevük alapján Megoldás: ha a fájlok nevük alapján megkülönböztethetők, akkor a megkülönböztethetők, akkor a helyettesítő karakterek használatahelyettesítő karakterek használataHelyettesítő karakterek:Helyettesítő karakterek:
: tetszőleges számú karakter: tetszőleges számú karakter: egyetlen karakter: egyetlen karakter
Használatuk (pl): copy abHasználatuk (pl): copy ab**cd?.ecd?.e* d:* d:
Szöveges fájlokSzöveges fájlok
Fájl létrehozásaFájl létrehozásaNotepad, edit (karakteres)Notepad, edit (karakteres)ccopy con opy con <fn><fn>
Fájl tartalmának megjelenítéseFájl tartalmának megjelenítésetype <fn>type <fn>copy <fn> concopy <fn> con
Fájl tartalmának módosításaFájl tartalmának módosításaElsődlegesen editorok (edit, stb.)Elsődlegesen editorok (edit, stb.)Tartalommal kapcsolatos műveletekTartalommal kapcsolatos műveletekKeresés: findKeresés: findRendezés: sortRendezés: sortFájlok összehasonlítása: fcFájlok összehasonlítása: fc
Parancsok egymásutániságaParancsok egymásutánisága
Többféle lehetőségTöbbféle lehetőség&: mindig végrehajtásra kerül&: mindig végrehajtásra kerül
cmd1 & cmd2 cmd1 & cmd2 &&: csak akkor kerül &&: csak akkor kerül végrehajtásra, ha a művelet végrehajtásra, ha a művelet sikeressikeres
cmd1 && cmd2cmd1 && cmd2||: csak akkor kerül végrehajtásra ||: csak akkor kerül végrehajtásra ha a művelet sikertelenha a művelet sikertelen
cmd1 || cmd 2cmd1 || cmd 2
Parancsok egymásutániságaParancsok egymásutánisága
Parancsok csoportosításaParancsok csoportosítása
(parancs1 & paramcs2) (parancs1 & paramcs2) || || (parancs3)(parancs3)
(dir & echo hello & mkdir hello)(dir & echo hello & mkdir hello)
GyakorlásGyakorlás
Primitív „move” parancs összefűzésselPrimitív „move” parancs összefűzésselElőször másol, ha sikeres volt, akkor Először másol, ha sikeres volt, akkor töröltöröl
Előfeltétel ellenőrzésElőfeltétel ellenőrzésCsak akkor próbálja kiírni egy fájl Csak akkor próbálja kiírni egy fájl tartalmát (pl. more), ha az léteziktartalmát (pl. more), ha az létezik
HibakezelésHibakezelésHa a másolás parancs nem fut le, akkor Ha a másolás parancs nem fut le, akkor írjon ki egy üzenetet (pl. „hát ez nem jött írjon ki egy üzenetet (pl. „hát ez nem jött össze”)össze”)
ÁtirányításÁtirányítás
Szabványos be- és kimeneti, hibacsatornákSzabványos be- és kimeneti, hibacsatornákA „jól nevelt” segédprogramok ezeket a A „jól nevelt” segédprogramok ezeket a csatornákat használják (nem közvetlen képernyő, csatornákat használják (nem közvetlen képernyő, billentyű elérést)billentyű elérést)A parancsértelmező képes a szabványos A parancsértelmező képes a szabványos csatornák „eltérítésére” a program tudta nélkül!csatornák „eltérítésére” a program tudta nélkül!
kimeneti csatorna átirányítása fájlbakimeneti csatorna átirányítása fájlba• dir dir > alma.txt vagy dir >> alma.txt (> alma.txt vagy dir >> alma.txt (utóbbi hozzáfűz)utóbbi hozzáfűz)
bemeneti csatorna fájlbólbemeneti csatorna fájlból• sort sort < alma.txt< alma.txt
Hibacsatorna Hibacsatorna átirányításaátirányítása• valami.exe 2valami.exe 2> alma.txt> alma.txt
CsatornáCsatornábaba irányítás irányítás• valami.exe 2valami.exe 2>&1>&1
Parancsösszefűzés, átirányításParancsösszefűzés, átirányítás
Összetett feladatok esetén az Összetett feladatok esetén az eredményt több parancs egymás eredményt több parancs egymás utáni végrehajtása adjautáni végrehajtása adja
Minden parancs kimenetét fájlba Minden parancs kimenetét fájlba irányítom, a következő parancs ebből irányítom, a következő parancs ebből dolgozikdolgozik• dir > alma & sort < almadir > alma & sort < alma
Vagy: Vagy: a parancsok ki- és bemenetét a parancsok ki- és bemenetét közvetlenül összekapcsolomközvetlenül összekapcsolom• dir dir | sort| sort
Egyéb hasznos parancsokEgyéb hasznos parancsok
more more
sortsort
findfind
typetype
treetree
fcfc
GyakorlásGyakorlás
Fájlmásolás type paranccsal és Fájlmásolás type paranccsal és átirányítássalátirányítássalDöntse el, hogy létezik-e az adott könyvtár, Döntse el, hogy létezik-e az adott könyvtár, de a tartalmát ne írja ki /Fájl kimenetének de a tartalmát ne írja ki /Fájl kimenetének (dir) átirányítása „nul” eszközre/(dir) átirányítása „nul” eszközre/Kapcsolók használata nélkül tördelje fel Kapcsolók használata nélkül tördelje fel képernyőkre a „dir” parancs kimenetét képernyőkre a „dir” parancs kimenetét /pipe használata (dir és more kapcsolata)//pipe használata (dir és more kapcsolata)/Készítsen el a „nevek.txt” fájlt, amelyet Készítsen el a „nevek.txt” fájlt, amelyet töltsön fel a laborban találhatók töltsön fel a laborban találhatók keresztneveivel. Rendezze ABC sorrendbe a keresztneveivel. Rendezze ABC sorrendbe a neveket!neveket!
GyakorlásGyakorlás
Parancsok működésének kitalálása Parancsok működésének kitalálása On-Line help segítségével (sort, fc, On-Line help segítségével (sort, fc, find)find)
ParancsfájlokParancsfájlok
Ami volt: parancsok összekapcsolása Ami volt: parancsok összekapcsolása parancssorból (parancsok egymás utáni parancssorból (parancsok egymás utáni végrehajtása, függőséggel), az STDIO végrehajtása, függőséggel), az STDIO (átirányítás, pipe)(átirányítás, pipe)Parancsfájlok: mi az?Parancsfájlok: mi az?Általános célú parancsfájlok: parancssori Általános célú parancsfájlok: parancssori paraméterekparaméterek Parancssori paraméteres példaParancssori paraméteres példaTovábbi lehetőségek röviden: változók, További lehetőségek röviden: változók, elágazások, vezérlésátadás és ciklusokelágazások, vezérlésátadás és ciklusok Egyszerű példákEgyszerű példák
Batch fBatch fájlokájlok
Fájl kiterjesztése: bat vagy cmdFájl kiterjesztése: bat vagy cmdFájl tartalma: különféle parancsok Fájl tartalma: különféle parancsok egymásutánjaegymásutánjarem: commentrem: comment
pl: rem Ezt a sort ne hajtsd végrepl: rem Ezt a sort ne hajtsd végreKi fogja irni, de nem értelmeziKi fogja irni, de nem értelmezi
echo offecho offAlapból mindent kiír, ezzel a parancs kiírása Alapból mindent kiír, ezzel a parancs kiírása megakadályozható globálisanmegakadályozható globálisanParancs elé tett @ ugyanezt tesziParancs elé tett @ ugyanezt teszi (arra a sorra) (arra a sorra)
Escape karakter: ^Escape karakter: ^
GyakorlásGyakorlás
Egyszerű parancsfájl létrehozása és Egyszerű parancsfájl létrehozása és futtatása: parancsok egymásutánjafuttatása: parancsok egymásutánja
Előző órák során kipróbált parancs-Előző órák során kipróbált parancs-kombinációk átírása parancs fájlbakombinációk átírása parancs fájlba
Echo off hatásának kipróbálásaEcho off hatásának kipróbálása
Megyjegyzések a fájlok elejére (ki Megyjegyzések a fájlok elejére (ki készítette, mi a célja)készítette, mi a célja)
VáltozókVáltozók
Lásd Korábbi: környezeti változók!Lásd Korábbi: környezeti változók!létrehozás: set valtozonev=”valami”létrehozás: set valtozonev=”valami”törlés: set valtozonev=törlés: set valtozonev=A változóknak azonnal értéket kell adniA változóknak azonnal értéket kell adniEz sem case sensitiveEz sem case sensitiveHatóköre az adott parancsfájlHatóköre az adott parancsfájlkisebb hatókör kell, akkor setlocal, kisebb hatókör kell, akkor setlocal, endlocalendlocalAritmetika: /aAritmetika: /a
set ertek=4+4 – string-ként értelmeziset ertek=4+4 – string-ként értelmeziset /a ertek=4+4: 8 (azaz összeadta)set /a ertek=4+4: 8 (azaz összeadta)
Bemeneti paraméterekBemeneti paraméterek
%0: fájl neve%0: fájl neve%%1, %2, … %9: kapcsolók, paraméterek1, %2, … %9: kapcsolók, paraméterek%* - az átadott összes paraméter%* - az átadott összes paraméterSHIFT parancs (paraméterek eltolása)SHIFT parancs (paraméterek eltolása)SHIFT /3 eltolás a 3. paramétertől SHIFT /3 eltolás a 3. paramétertől kezdődőenkezdődően
Pl. a.cmd fájl, benne echo-k (echo %0, echo Pl. a.cmd fájl, benne echo-k (echo %0, echo %1, stb.)%1, stb.)a.cmd se ki se be se nyőa.cmd se ki se be se nyő: %0: a.cmd: %0: a.cmd: %1: se : %1: se : %2: ki: %2: kistb.stb.
GyakorlásGyakorlás
Előzőekben elkészített fájlok (pl. Előzőekben elkészített fájlok (pl. move megoldása copy és delete move megoldása copy és delete segítségével) kiegészítésesegítségével) kiegészítése
Paramétereket parancssorból vegyeParamétereket parancssorból vegyeHa a forrásfájl nem létezik, akkor Ha a forrásfájl nem létezik, akkor írjon ki valamilyen üzenetet (előzetes írjon ki valamilyen üzenetet (előzetes tesztelés)tesztelés)
Egyszerű összeadó gép készítéseEgyszerű összeadó gép készítéseAdja össze a paraméterként Adja össze a paraméterként megadott két számot!megadott két számot!
IF – feltételes elágazásokIF – feltételes elágazások
IF: feltételtől függő működés megvalósításaIF: feltételtől függő működés megvalósításaIF IF [NOT] [NOT] condition (statement1) [else (statement2)]condition (statement1) [else (statement2)]ifif [ [notnot] ] errorlevelerrorlevel numbernumber commandcommand [ [elseelse expressionexpression] ] ifif [ [notnot] ] string1string1====string2string2 commandcommand [ [elseelse expressionexpression]]ifif [ [notnot] ] exist exist FileNameFileName commandcommand [ [elseelse expressionexpression]]
Ha a kiterjesztett parancsok engedélyezettek:Ha a kiterjesztett parancsok engedélyezettek:ifif [ [/i/i] ] string1string1 CompareOpCompareOp string2string2 commandcommand [ [elseelse expressionexpression]]ifif cmdextversioncmdextversion numbernumber commandcommand [ [elseelse expressionexpression]]ifif defineddefined variablevariable commandcommand [ [elseelse expressionexpression]]
ElElágazások folytatáságazások folytatás
IF „%ComputerName%”==”kalapacs” (echo IF „%ComputerName%”==”kalapacs” (echo „De fura nev”) else (echo „Nem is olyan fura „De fura nev”) else (echo „Nem is olyan fura nev”)nev”)
„”„”-re vigyázni, nélküle nem megy!-re vigyázni, nélküle nem megy!IF NOT: mint az IF, csak negálvaIF NOT: mint az IF, csak negálva
IF IF [NOT] [NOT] DEFINIEDDEFINIEDtrue, ha a megadott változó létezik: true, ha a megadott változó létezik:
if not definied %temp% (set if not definied %temp% (set temp=”C:\temp”)temp=”C:\temp”)DE: %1, %2, stb. mindig definiálva van!DE: %1, %2, stb. mindig definiálva van!
IF IF [NOT] [NOT] EXIST: fájl létezését vizsgáljaEXIST: fájl létezését vizsgáljaIFIF [NOT][NOT] ERRORLEVELERRORLEVEL: elágazás parancs : elágazás parancs végrehajtási státusza (exit code) alapjánvégrehajtási státusza (exit code) alapján
DIR q:\ & IF ERRORLEVEL 1 (echo HIBA)DIR q:\ & IF ERRORLEVEL 1 (echo HIBA)Igaz, ha az exit code Igaz, ha az exit code >=>= mint az érték mint az érték
PPéldákéldák
if ”%1”==”a” (echo A) else (echo is not if ”%1”==”a” (echo A) else (echo is not A)A)
If ”%varA%” equ ”%varB%” (echo If ”%varA%” equ ”%varB%” (echo MatchMatch!!))
Elágazások folytatásElágazások folytatás
Összehasonlítások IF-benÖsszehasonlítások IF-benif „stringA”==”stringB”if „stringA”==”stringB”if „%varA%”==”stringA”if „%varA%”==”stringA”if „%varA%”==”%varB%”if „%varA%”==”%varB%”
• Idézőjel használata hasznosIdézőjel használata hasznos/i kapcsoló has/i kapcsoló használatával nem tesz különbséget a ználatával nem tesz különbséget a kis- és nagybetűk közöttkis- és nagybetűk közöttEQUEQU equal equal NEQNEQ not equal not equal LSSLSS less than less than LEQLEQ less than or equal less than or equal GTRGTR greater than greater than GEQGEQ greater than or equal greater than or equal
• if „%varA%” lss ”%varB%”: igaz, ha varA kisebb, mint if „%varA%” lss ”%varB%”: igaz, ha varA kisebb, mint varBvarB
Elágazások folytatásElágazások folytatás
IF igaz és hamis ágához csak egy parancsot IF igaz és hamis ágához csak egy parancsot írhatunk (vagy láncolni) írhatunk (vagy láncolni) goto gotoPéldául: Például:
if "%1"=="1" goto almaif "%1"=="1" goto almaif "%1"=="2" goto korteif "%1"=="2" goto kortegoto exitgoto exit:alma:alma
echo „ez itt az 1-ag”echo „ez itt az 1-ag”goto exitgoto exit:korte:korte
echo „ez itt a 2-ag”echo „ez itt a 2-ag”goto exitgoto exit:exit :exit
GyakorlásGyakorlás
Az első paraméterként kapott értéket vizsgáljuk Az első paraméterként kapott értéket vizsgáljuk meg. Amennyiben 12 a szám, írjuk ki, hogy meg. Amennyiben 12 a szám, írjuk ki, hogy "Tizenkettő", amennyiben nem, akkor írjuk ki, "Tizenkettő", amennyiben nem, akkor írjuk ki, hogy "A beírt érték nem tizenkettő!"hogy "A beírt érték nem tizenkettő!"Move példa hibakezelés része átalakítása „if” Move példa hibakezelés része átalakítása „if” szerkezetreszerkezetreKészítsen scriptet, amely az első paraméterként Készítsen scriptet, amely az első paraméterként kapott fájlt ellenőrzi, hogy létezik-e. kapott fájlt ellenőrzi, hogy létezik-e. Amennyiben igen, akkor írassa ki, amennyiben Amennyiben igen, akkor írassa ki, amennyiben nem, hozzon létre egy új fájlt a könyvtár nem, hozzon létre egy új fájlt a könyvtár fastruktúrájának tartalmávalfastruktúrájának tartalmávalNégy alapműveletes számológép, RPN Négy alapműveletes számológép, RPN megadással (parancssori paraméterekkel)megadással (parancssori paraméterekkel)
IterációIteráció
for [módszer] (változónév) in (fájllista) do for [módszer] (változónév) in (fájllista) do (parancs)(parancs) Módszer lehet:Módszer lehet:
/D: Könyvtárak iterálása/D: Könyvtárak iterálása/R: alkönyvtárakkal együtt/R: alkönyvtárakkal együtt/L: értéksorozat végigjárása/L: értéksorozat végigjárása/F: fájlon belül soronkénti iterálás/F: fájlon belül soronkénti iterálásKapcsoló nélkül: Fájlok iterálásaKapcsoló nélkül: Fájlok iterálása
PéldákPéldákfor %%B in (*.*) do echo %%Bfor %%B in (*.*) do echo %%Bfor /d %%B in (*.*) do echo %%Bfor /d %%B in (*.*) do echo %%Bfor /l %%B in (0,for /l %%B in (0,11,10) do @echo %%B,10) do @echo %%BFor /f %%B in (akarmi.txt) do echo %%BFor /f %%B in (akarmi.txt) do echo %%B
Parancssorban csak %B a változóParancssorban csak %B a változó
IterációIteráció
for /d %%B in (%SystemRoot% %SystemRoot%\for /d %%B in (%SystemRoot% %SystemRoot%\*) do echo %%B*) do echo %%B
for /d %%B in (%APPDATA% %APPDATA%\*) dofor /d %%B in (%APPDATA% %APPDATA%\*) do
(@for %%C in (”%%B\*.txt”) do echo %%C)(@for %%C in (”%%B\*.txt”) do echo %%C)
GyakorlásGyakorlás
1. Készítsen egy olyan scriptet, amely 1. Készítsen egy olyan scriptet, amely elszámol az első paraméterként megadott elszámol az első paraméterként megadott értéktől a másodikig. Módosítsa úgy a értéktől a másodikig. Módosítsa úgy a scriptet, hogy akkor is fusson le, ha az scriptet, hogy akkor is fusson le, ha az első paraméter nagyobb, mint a második!első paraméter nagyobb, mint a második!2. Hozzon létre egy fájlt, melynek 2. Hozzon létre egy fájlt, melynek tartalma a következő legyen:tartalma a következő legyen:
Valami_1Valami_1Valami_2Valami_2Valami_3Valami_3
Hozzon létre script segítségével Hozzon létre script segítségével könyvtárakat a fájlban szereplő nevekkel!könyvtárakat a fájlban szereplő nevekkel!