A Start menü Futtatás… parancsát választva indítsuk a cmd.exe programot!
(A Start menü Programok/Kellékek/Parancssor pontjára kattintva is elindul.)
A továbbiakban a megjelenő konzolablakban dolgozunk.
A föl-le billentyűkkel kiválaszthatjuk valamelyik korábban beírt
parancsot, így nem kell ismét begépelni.
A kurzor az ún. prompt végén villog, ez alapesetben az aktuális útvonalból és a > jelből áll. Írjuk be a következőt, majd <ENTER> (A továbbiakban az <ENTER> leütését nem jelezzük):
prompt szia$g
A prompt
szia>
alakúra változott. Az eredetit a
prompt $p$g
parancs megadásával állíthatjuk vissza. A további lehetőségekről a
prompt /?
paranccsal tájékozódhatunk.
Írjuk be:
notepad.exe
Ennek hatására elindul a Jegyzettömb, mintha a Start menüből indítottuk volna. Az ablakot becsukhatjuk.
A Windows automatikusan kiegészíti a programok nevét az
ahhoz tartozó kiterjesztéssel (végződéssel, .com,
.exe, .bat). Így a programot a .exe
kiterjesztés beírása nélkül is futtathatjuk:
notepad
A mappát (folder) a parancssori parancsok a directory szóból származtatják (a mappák régebbi stílusú neve, magyarul könyvtár). A mappa tartalmának listázása:
dir
Az eredmény a mappa tartalma: további mappák, valamint fájlok lehetnek.
Ha nem a legfölső szinten (a gyökérkönyvtárban) vagyunk (C:\), akkor egy .
és egy .. nevű mappa (<DIR> jelzi) is látható. A . az aktuális mappát
jelenti, a .. az egy szinttel feljebb lévőt.
Hasonlítsuk ezt össze az Intézőben látható tartalommal!
A dir parancsnak számos
kapcsolója van, ezekről bővebb információ a
dir /?
paranccsal kapható. A többi parancsnak is van hasonló helpje, ezt a továbbiakban nem jelezzük külön.
Mappát váltani a chdir paranccsal, vagy ennek rövidebb változtaával, a
cd-vel lehet. Lépjünk egy szinttel feljebb:
cd ..
Lépjünk a gyökérkönyvtárba:
cd \
vagy
cd /
A mappák neveit a \ (fordított per vagy backslash, AltGr+Q) választja el egymástól az elérési útvonalon. A Windows támogatja a UNIX-ból származó /-t is, a két jel bármelyikét bármikor használhatjuk. A Windows hasonlóan rugalmas a kis és nagybetűk kezelésében: a mappák és fájlok és parancsok nevében nem számít, hogy kis- ill. nagybetűről van szó (pl. notepad, Notepad, NOTEPAD, stb. egyaránt használható). Más, pl. UNIX alapú rendszerek megkülönböztetik ezeket. Informatikusként mindkét rendszerrel dolgozniuk kell majd, ezért jobb, ha mindent a tényleges nevén használnak.
Mappát létrehozni az mkdir vagy md parancsokkal lehet:
md clabor
Megjegyzés 1: Lehet, hogy már van ilyen nevű mappa a gépen, mert egy korábbi órán valaki létrehozta. Ekkor indítsa el az Intézőt, és törölje le a mappát!
Megjegyzés 2: Ha a ezt írja:
md c laborkét mappa jön létre, egy „c” és egy „labor” nevű. Ha „c labor” nevű mappát szeretne, tegye idézőjelbe a nevet:
md "c labor"Akkor is szabad idézőjelbe tenni, ha nincs benne szóköz? Próbálja ki!
Mappát törölni az rmdir vagy rd paranccsal lehet:
rd "c labor"
A parancs a mappát csak akkor törli, ha az üres.
Hozzuk létre ismét a clabor mappát, és lépjünk bele!
A more parancs sok dologra használható, most a begépelt szöveg ismételt megjelenítésére fogjuk. Írjuk be:
more
Most nem jelent meg a prompt, ami mutatja, hogy a more program éppen fut,
és várja tőlünk a bemenetét.
Írjunk be tetszőleges szöveget, és nyomjuk meg az <ENTER>-t. Mi
történik? Ezt többször is megismételhetjük. Ha meguntuk, a Ctrl+Z
billentyűkombinációval léphetünk ki a more-ból, vissza a parancssorba.
Jegyezzük meg! A more fájlvége jelig olvas be szöveget. Ha
ezzel találkozik, kilép. Ha billentyűzetről gépelünk, a Windowsban a
fájl, vagyis az általunk gépelt szöveg végét jelet a Ctrl+Z-vel tudjuk jelezni.
A konzol programokból a Ctrl+C kombinációval is ki tudunk lépni, ez az ablakozó programok jobb felső sarkában lévő X programbezárás gombnak felel meg.
Írjuk be:
more > szoveg.txt
Gépeljünk be ismét szövegeket! Mit tapasztalunk? Több sor begépelése után
lépjünk ki a more-ból a szokásos módon! Listázzunk ki a mappa tartalmát! Mit
tapasztalunk?
Írjuk be:
more < szoveg.txt
Mit tapasztalunk?
Figyeljük meg, hogy most nem kell Ctrl+Z-t írni a kilépéshez, mert a more
a szoveg.txt fájl tartalmát jelenítette meg.
Magyarázat: A konzol programok a felhasználókkal a szabványos bemenet (standard input) és a szabványos kimenet (standard output) segítségével kommunikálnak. A szabványos bemenet alapértelmezés szerint a billentyűzet, a szabványos kimenet pedig a képernyő. Ezek azonban, a fenti módon, átirányíthatók. A programok nem is tudják, hogy valójában honnan olvasnak és hová írnak, billentyűzetről/képernyőre, vagy fájlból/fájlba.
Ha a
more >> szoveg.txt
parancsot írjuk, a szoveg.txt fájl végéhez fűzi az újonnan beírt szöveget (egy
> esetén törli a korábbi szoveg.txt-t, ha volt olyan). Ha nem létezett a
szoveg.txt, mindkét esetben létrehozza.
A programoknak a szabványos kimenet mellett van egy szabványos
hibakimenete is, a hibaüzeneteket ide szokták írni. Alapértelmezés szerint
ez is a képernyőre kerül kiírásra. Ha a program kimenetét átirányítjuk, pl.
more > szoveg.txt, és a more valami hibaüzenetet szeretne közölni, akkor
a hibaüzenet továbbra is a képernyőn jelenik meg, nem kerül a fájlba. Ha a
hibaüzenetet szeretnénk fájlba írni, akkor
more 2> hiba.txt
módon adhatjuk meg.
A legtöbb konzolalkalmazás, de gyakran az ablakozó programok is, kaphatnak paramétereket kaphat. Ezeket hívjuk parancssori paraméternek. Például a
cd ..
paraméterként kapja a két pontot. Írjuk be, hogy
notepad szoveg.txt
Mit tapasztalunk? (Ha előbb beírtuk, hogy cd .., akkor most a gyökér mappában vagyunk innen a következő módon is elindíthatjuk a programot:
notepad clabor/szoveg.txt
Egy programnak tetszőleges számú parancssori paramétere lehet, ezeket szóköz választja el egymástól. Ha paraméterként fájlt adunk meg, és az útvonalban vagy a fájlnévben szóköz van, normál esetben a Windows a szóközzel elválasztott elemeket külön paraméternek tekintené, ezért kell ilyenkor idézőjelek közé tenni azt. Pl.:
notepad "c:/c labor/szoveg.txt"
Megjegyzés: a
moreparancs parancssori paraméterként kaphatja egy szövegfájl nevét, amit megjelenít, vagyis amore szoveg.txtparancs ugyanúgy viselkedik, mint a
more < szoveg.txtparancs. Ez azonban nem általánosítható!
Honnan tudta a Windows, hogy hol van a notepad.exe? Írjuk be, hogy
path
Az éppen aktuális mappán kívül felsoroltakban keresi a Windows a megadott nevű programot. Kibővíthetjük a saját mappánkkal:
path clabor;%PATH%
Megjegyzés: A bővítés csak ebben a parancssori ablakban érvényes. Ha újat nyitunk, ott újra be kell írnunk.
Írjuk be, hogy
cd c:/Windows/System32 dir
Túl sok fájl neve került kiírásra. A more parancs igazi
funkciója, hogy egy szöveget egy képernyőnyi részekre osztva jelenítsen meg.
Használjuk ezt a mappa tartalmának kilistázására (a | az AltGr+W kombinációval érhető el):
dir | more
A szóközt leütve egy képernyőnyivel tovább haladunk. Ha csak egy sornyit akarunk léptetni, üssünk entert! Kiléphetünk a Q billentyű lenyomásával.
A bemutatott módszer a csővezeték (pipe): az egyik program kimenete adja a másik program bemenetét, vagyis ezúttal is a szabványos kimenet ill. bemenet átirányításáról van szó.
A programok paraméterei is használhatók, pl.:
dir *.exe | more
Ez csak az .exe kiterjesztésű fájlokat listázza.
Megjegyzés: A ? karakterrel egy, a * karakterrel több karaktert helyettesíthetünk a névben. Pl.:
dir x*ekilistázza az x-szel kezdődő, e-re végződő fájlokat. Akár több * is lehet:
dir x*py*eA kérdőjel használata:
dir C_85?.NLS
A konzol ablakban nem működik a Ctrl+C másolás és Ctrl+V beillesztés (emlékezzünk, hogy a Ctrl+C a programok bezárására használható). A konzol ablak keretére bal klikkelve a Szerkesztés menüpontban találjuk a keresett funkciókat. A Megjelölést kiválasztva egérrel tudjuk kijelölni a vágólapra másolandó képernyőterületet, a vágólapra másolás a kijelölés után az <ENTER> leütésével történik.
Ugyancsak ebben a menüben, a Tulajdonságok pont alatt tudjuk megváltoztatni például a konzolablak méretét (alapértelmezés szerint 80x25 karakter).
Lépjünk a clabor mappánkba, majd készítsünk másolatot a szoveg.txt-ről:
copy szoveg.txt szoveg.txt.old
Hozzunk létre egy uj nevű mappát, és tegyük át ide a szoveg.txt-t!
md uj move szoveg.txt uj
Lépjünk az új mappába, majd töröljük a szoveg.txt-t:
del szoveg.txt
helyette írhattuk volna:
del *
(Ez a mappa összes fájlját törli.) Hogyan tudná letörölni az aktuális mappa alatti összes mappa összes fájlját anélkül, hogy a mappákat törölné?
Lépjünk vissza a clabor mappába, majd nevezzük át az old fájlt:
move szoveg.txt.old szoveg.txt
Átnevezésre a rename vagy ren parancs is használható, de azzal más helyre mozgatni nem lehet.
A parancssor számára a parancsokat kötegelve is megadhatjuk, parancsfájl
formájában. Ez azt jelenti, hogy egy fájl tartalmazza az egymás után
végrehajtandó parancsokat. A parancsfájl .bat kiterjesztésű egyszerű szövegfájl
(batch=köteg), amelyet pl. a jegyzettömbbel hozhatjuk létre.
Megjegyzés: szövegfájl alatt azokat a fájlokat értjük, amelyek a Jegyzettömbbel megnyitva olvasható szöveget kapunk. Ilyenek pl. a .txt, .c, .h, .cpp, .bat, .csv típusú fájlok. Bár általában a .doc, .xls, pdf, stb. fájlok is szöveget tartalmaznak, a Jegyzettömbbel megnyitva nem szöveget, hanem egy ember számára olvashatatlan kódsort látunk. Ezeket bináris fájloknak nevezzük.
Írjuk be:
notepad masolat.bat
Írjuk bele:
@rem Átmásolja az összes txt fájlt az olds mappába @md olds 2> NUL @copy /y *.txt olds > NUL @echo OK
Az echo parancs egyszerűen kiírja az utána írt szöveget.
A rem sorok megjegyzések, itt magyarázhatjuk el, hogy mit csinál a programunk.
Mentsük el a fájlt és futtassuk (a .bat akár el is hagyható):
masolat.bat
A parancsfájlok végrehajtása sorról sorra történik, mintha egyesével beírtuk volna azokat a parancssorba. Az egyes végrehajtott parancsok is kiíródnak a képernyőre. Hogy ezt elkerüljük, a sorok elejére a @ karaktert írhatjuk. Próbálja ki a parancsfájlt a @ karakterek elhagyásával is!